summaryrefslogtreecommitdiff
path: root/components
diff options
context:
space:
mode:
authorZYH <[email protected]>2018-03-16 18:40:07 +0800
committerZYH <[email protected]>2018-03-16 18:40:07 +0800
commit7262ab7364d4c326d10848e17ed0621d1a6e27a8 (patch)
tree4560f86493bb092689d8eebac81080b9b43dc457 /components
parent5035662cd95d9fae90d31608329f31fac3a67362 (diff)
[Components][USB Device]增加复合设备对HS的支持
Diffstat (limited to 'components')
-rw-r--r--components/drivers/usb/usbdevice/core/usbdevice.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/components/drivers/usb/usbdevice/core/usbdevice.c b/components/drivers/usb/usbdevice/core/usbdevice.c
index 10ffac8ad0..453084990b 100644
--- a/components/drivers/usb/usbdevice/core/usbdevice.c
+++ b/components/drivers/usb/usbdevice/core/usbdevice.c
@@ -59,6 +59,20 @@ static struct udevice_descriptor compsit_desc =
USB_STRING_SERIAL_INDEX, //iSerialNumber;
USB_DYNAMIC, //bNumConfigurations;
};
+
+//FS and HS needed
+static struct usb_qualifier_descriptor dev_qualifier =
+{
+ sizeof(dev_qualifier), //bLength
+ USB_DESC_TYPE_DEVICEQUALIFIER, //bDescriptorType
+ 0x0200, //bcdUSB
+ USB_CLASS_MISC, //bDeviceClass
+ 0x02, //bDeviceSubClass
+ 0x01, //bDeviceProtocol
+ 64, //bMaxPacketSize0
+ 0x01, //bNumConfigurations
+ 0,
+};
#endif
struct usb_os_comp_id_descriptor usb_comp_id_desc =
@@ -169,6 +183,7 @@ rt_err_t rt_usb_device_init(void)
#ifdef RT_USB_DEVICE_COMPOSITE
rt_usbd_device_set_descriptor(udevice, &compsit_desc);
rt_usbd_device_set_string(udevice, ustring);
+ rt_usbd_device_set_qualifier(device, &dev_qualifier);
#else
rt_usbd_device_set_descriptor(udevice, func->dev_desc);
#endif