diff options
| author | heyuanjie87 <[email protected]> | 2013-05-17 20:53:05 +0800 |
|---|---|---|
| committer | heyuanjie87 <[email protected]> | 2013-05-17 20:53:05 +0800 |
| commit | 8b4aadb4db1d05ab91d0d68ff6a79362cb4a2f3d (patch) | |
| tree | 5467dbd20152209dbe404e2d94f1570e2ca10545 /components/drivers/include | |
| parent | 3d9c558afa8d4a70c9aacc6deee5d8f4f586b498 (diff) | |
add usb state
Diffstat (limited to 'components/drivers/include')
| -rw-r--r-- | components/drivers/include/drivers/usb_common.h | 27 | ||||
| -rw-r--r-- | components/drivers/include/drivers/usb_device.h | 12 |
2 files changed, 34 insertions, 5 deletions
diff --git a/components/drivers/include/drivers/usb_common.h b/components/drivers/include/drivers/usb_common.h index 9b7f3873e1..d8d32d8306 100644 --- a/components/drivers/include/drivers/usb_common.h +++ b/components/drivers/include/drivers/usb_common.h @@ -207,6 +207,18 @@ extern "C" { (((rt_uint16_t)(*(((rt_uint8_t *)(x)) + 1))) << 8)) typedef void (*func_callback)(void *context); +typedef enum +{ + USB_STATE_NOTATTACHED = 0, + USB_STATE_ATTACHED, + USB_STATE_POWERED, + USB_STATE_RECONNECTING, + USB_STATE_UNAUTHENTICATED, + USB_STATE_DEFAULT, + USB_STATE_ADDRESS, + USB_STATE_CONFIGURED, + USB_STATE_SUSPENDED +}udevice_state_t; #pragma pack(1) @@ -310,6 +322,21 @@ struct uhub_descriptor }; typedef struct uhub_descriptor* uhub_desc_t; +struct uhid_descriptor +{ + rt_uint8_t bLength; + rt_uint8_t type; + rt_uint16_t bcdHID; + rt_uint8_t bCountryCode; + rt_uint8_t bNumDescriptors; + struct hid_descriptor_list + { + rt_uint8_t type; + rt_uint16_t wLength; + }Descriptor[1]; +}; +typedef struct uhid_descriptor* uhid_desc_t; + struct ureqest { rt_uint8_t request_type; diff --git a/components/drivers/include/drivers/usb_device.h b/components/drivers/include/drivers/usb_device.h index 331ec785c3..99e89b74c5 100644 --- a/components/drivers/include/drivers/usb_device.h +++ b/components/drivers/include/drivers/usb_device.h @@ -28,7 +28,7 @@ /* Product ID */ #ifdef USB_PRODUCT_ID #define _PRODUCT_ID USB_PRODUCT_ID -#else +#else #define _PRODUCT_ID 0x0001 #endif @@ -73,12 +73,12 @@ struct uendpoint rt_bool_t is_stall; }; typedef struct uendpoint* uep_t; - + struct ualtsetting { rt_list_t list; uintf_desc_t intf_desc; - void* desc; + void* desc; rt_size_t desc_size; rt_list_t ep_list; }; @@ -112,7 +112,7 @@ struct uclass struct udevice* device; udev_desc_t dev_desc; void* user_data; - + rt_list_t intf_list; }; typedef struct uclass* uclass_t; @@ -131,6 +131,7 @@ struct udevice struct udevice_descriptor dev_desc; const char** str; + udevice_state_t state; rt_list_t cfg_list; uconfig_t curr_cfg; rt_uint8_t nr_intf; @@ -170,7 +171,7 @@ udevice_t rt_usbd_device_create(void); uconfig_t rt_usbd_config_create(void); uclass_t rt_usbd_class_create(udevice_t device, udev_desc_t dev_desc, uclass_ops_t ops); -uintf_t rt_usbd_interface_create(udevice_t device, uintf_handler_t handler); +uintf_t rt_usbd_interface_create(udevice_t device, uintf_handler_t handler); uep_t rt_usbd_endpoint_create(uep_desc_t ep_desc, udep_handler_t handler); ualtsetting_t rt_usbd_altsetting_create(rt_size_t desc_size); @@ -198,6 +199,7 @@ uep_t rt_usbd_find_endpoint(udevice_t device, uclass_t* pcls, rt_uint8_t ep_addr uclass_t rt_usbd_class_mstorage_create(udevice_t device); uclass_t rt_usbd_class_cdc_create(udevice_t device); uclass_t rt_usbd_class_rndis_create(udevice_t device); +uclass_t rt_usbd_class_dap_create(udevice_t device); #ifdef RT_USB_DEVICE_COMPOSITE rt_err_t rt_usbd_class_set_iad(uclass_t cls, uiad_desc_t iad_desc); |
