32 #ifndef __MW_USBD_CORE_H__
33 #define __MW_USBD_CORE_H__
122 typedef struct _USB_CORE_DESCS_T
126 uint8_t *full_speed_desc;
129 uint8_t *high_speed_desc;
134 uint8_t *device_qualifier;
147 typedef struct USBD_API_INIT_PARAM
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);
506 void* ep_hdlr_data[2 * USB_MAX_EP_NUM];
510 void* ep0_cb_data[USB_MAX_IF_NUM];
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;
527 uint8_t alt_setting[USB_MAX_IF_NUM];
540 USB_SETUP_PACKET SetupPacket;
545 static INLINE void USB_SetSpeedMode(USB_CORE_CTRL_T* pCtrl, uint8_t
mode)
547 pCtrl->device_speed =
mode;