24 #ifndef __MW_USBD_CORE_H__
25 #define __MW_USBD_CORE_H__
121 typedef struct _USB_CORE_DESCS_T
123 uint8_t *device_desc;
124 uint8_t *string_desc;
125 uint8_t *full_speed_desc;
128 uint8_t *high_speed_desc;
133 uint8_t *device_qualifier;
146 typedef struct USBD_API_INIT_PARAM
276 uint32_t (* virt_to_phys)(
void* vaddr);
294 typedef struct USBD_CORE_API
454 struct _USB_CORE_CTRL_T;
455 typedef struct _USB_CORE_CTRL_T USB_CORE_CTRL_T;
458 #define USB_FULL_SPEED 0
459 #define USB_HIGH_SPEED 1
462 typedef struct _USB_EP_DATA
471 struct _USB_CORE_CTRL_T
500 uint32_t (* virt_to_phys)(
void* vaddr);
510 uint8_t num_ep0_hdlrs;
513 uint8_t device_speed;
514 uint8_t num_interfaces;
516 uint8_t config_value;
517 uint16_t device_status;
518 uint8_t *device_desc;
519 uint8_t *string_desc;
520 uint8_t *full_speed_desc;
521 uint8_t *high_speed_desc;
522 uint8_t *device_qualifier;
539 USB_SETUP_PACKET SetupPacket;
548 __inline
void USB_SetSpeedMode(USB_CORE_CTRL_T* pCtrl, uint8_t mode)
550 pCtrl->device_speed = mode;