summaryrefslogtreecommitdiff
path: root/components/drivers/include
diff options
context:
space:
mode:
authorMeco Jianting Man <[email protected]>2021-03-20 19:00:54 +0800
committerGitHub <[email protected]>2021-03-20 19:00:54 +0800
commit061182271fbf02cf5c3410e3c8083a062a31a2b3 (patch)
treeed268633290165d616970d974d5c773e20a8478d /components/drivers/include
parent295b95cd7529bc9b85b4fb8ee8b37c62811ffbc8 (diff)
parentde1d079ecefe18caefa1bce500862ae729433d88 (diff)
Merge pull request #29 from RT-Thread/master
p
Diffstat (limited to 'components/drivers/include')
-rw-r--r--components/drivers/include/drivers/usb_common.h4
-rw-r--r--components/drivers/include/drivers/usb_device.h7
2 files changed, 8 insertions, 3 deletions
diff --git a/components/drivers/include/drivers/usb_common.h b/components/drivers/include/drivers/usb_common.h
index 9c29a0d0df..920a85e61b 100644
--- a/components/drivers/include/drivers/usb_common.h
+++ b/components/drivers/include/drivers/usb_common.h
@@ -112,7 +112,7 @@ extern "C" {
#define USB_STRING_CONFIG_INDEX 0x04
#define USB_STRING_INTERFACE_INDEX 0x05
#define USB_STRING_OS_INDEX 0x06
-#define USB_STRING_MAX USB_STRING_OS_INDEX
+#define USB_STRING_MAX 0xff
#define USB_STRING_OS "MSFT100A"
@@ -301,7 +301,7 @@ struct uconfig_descriptor
rt_uint8_t iConfiguration;
rt_uint8_t bmAttributes;
rt_uint8_t MaxPower;
- rt_uint8_t data[256];
+ rt_uint8_t data[2048];
};
typedef struct uconfig_descriptor* ucfg_desc_t;
diff --git a/components/drivers/include/drivers/usb_device.h b/components/drivers/include/drivers/usb_device.h
index 1e76477dbc..3ce051dfaa 100644
--- a/components/drivers/include/drivers/usb_device.h
+++ b/components/drivers/include/drivers/usb_device.h
@@ -34,6 +34,10 @@ extern "C" {
#define _PRODUCT_ID 0x0001
#endif
+#ifndef MAX_INTF_STR
+#define MAX_INTF_STR 20
+#endif
+
#define USB_BCD_DEVICE 0x0200 /* USB Specification Release Number in Binary-Coded Decimal */
#define USB_BCD_VERSION 0x0200 /* USB 2.0 */
#define EP0_IN_ADDR 0x80
@@ -193,7 +197,7 @@ struct udevice
struct usb_qualifier_descriptor * dev_qualifier;
usb_os_comp_id_desc_t os_comp_id_desc;
const char** str;
-
+ const char *str_intf[MAX_INTF_STR];
udevice_state_t state;
rt_list_t cfg_list;
uconfig_t curr_cfg;
@@ -260,6 +264,7 @@ rt_err_t rt_usbd_event_signal(struct udev_msg* msg);
rt_err_t rt_usbd_device_set_controller(udevice_t device, udcd_t dcd);
rt_err_t rt_usbd_device_set_descriptor(udevice_t device, udev_desc_t dev_desc);
rt_err_t rt_usbd_device_set_string(udevice_t device, const char** ustring);
+rt_err_t rt_usbd_device_set_interface_string(udevice_t device, int index, const char* string);
rt_err_t rt_usbd_device_set_qualifier(udevice_t device, struct usb_qualifier_descriptor* qualifier);
rt_err_t rt_usbd_device_set_os_comp_id_desc(udevice_t device, usb_os_comp_id_desc_t os_comp_id_desc);
rt_err_t rt_usbd_device_add_config(udevice_t device, uconfig_t cfg);