32 #ifndef __MW_USBD_CORE_H__
33 #define __MW_USBD_CORE_H__
122 typedef struct _USB_CORE_DESCS_T
124 uint8_t *device_desc;
125 uint8_t *string_desc;
126 uint8_t *full_speed_desc;
129 uint8_t *high_speed_desc;
134 uint8_t *device_qualifier;
147 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
468 #define USB_MAX_IF_NUM 8
469 #define USB_MAX_EP_NUM 6
472 struct _USB_CORE_CTRL_T
501 uint32_t (* virt_to_phys)(
void* vaddr);
511 uint8_t num_ep0_hdlrs;
514 uint8_t device_speed;
515 uint8_t num_interfaces;
517 uint8_t config_value;
518 uint16_t device_status;
519 uint8_t *device_desc;
520 uint8_t *string_desc;
521 uint8_t *full_speed_desc;
522 uint8_t *high_speed_desc;
523 uint8_t *device_qualifier;
540 USB_SETUP_PACKET SetupPacket;
545 static INLINE void USB_SetSpeedMode(USB_CORE_CTRL_T* pCtrl, uint8_t mode)
547 pCtrl->device_speed = mode;