arch/sim: Optimize sim usbhost isoc endpoint transmission

The USB driver framework only implements a single ISOC transfer.
If multiple transfers are needed, the class driver can initiate
multiple urbs to meet the real-time requirements of the ISOC
 endpoint. The class driver's urb record the buf address, length,
and number of packets sent. The callback function calculates the
data location in the buf based on the callback number and length
returned.

Signed-off-by: yangsong8 <yangsong8@xiaomi.com>
This commit is contained in:
yangsong8
2025-10-14 22:49:56 +08:00
committed by Xiang Xiao
parent 199290c0ee
commit bc2daa48cc
4 changed files with 33 additions and 15 deletions
+8
View File
@@ -256,6 +256,14 @@
# define USB_EP_ATTR_USAGE_IMPLICIT (2 << USB_EP_ATTR_USAGE_SHIFT)
#define USB_EP_ATTR_MAX_ADJUSTABLE (1 << 7)
/* Endpoint descriptor max packet size */
#define USB_EP_MAX_PACKET_MASK (0x07ff)
#define USB_EP_MAX_PACKET_MULT_SHIFT (11)
#define USB_EP_MAX_PACKET_MULT_MASK (3 << USB_EP_MAX_PACKET_MULT_SHIFT)
#define USB_EP_MAX_PACKET_MULT(m) (((m) & USB_EP_MAX_PACKET_MULT_MASK) >> \
USB_EP_MAX_PACKET_MULT_SHIFT)
/* OTG Definitions */
/* OTG SET FEATURE Constants */