24 #ifndef __MW_USBD_CORE_H__ 25 #define __MW_USBD_CORE_H__ 119 typedef struct _USB_CORE_DESCS_T {
151 typedef struct USBD_API_INIT_PARAM {
283 uint32_t (*virt_to_phys)(
void *vaddr);
285 void (*cache_flush)(uint32_t *start_adr, uint32_t *end_adr);
320 typedef struct USBD_CORE_API {
504 struct _USB_CORE_CTRL_T;
506 typedef struct _USB_CORE_CTRL_T USB_CORE_CTRL_T;
512 #define USB_FULL_SPEED 0 513 #define USB_HIGH_SPEED 1 516 typedef struct _USB_EP_DATA {
523 struct _USB_CORE_CTRL_T {
551 uint32_t (*virt_to_phys)(
void *vaddr);
552 void (*cache_flush)(uint32_t *start_adr, uint32_t *end_adr);
556 void *ep_hdlr_data[2 * USB_MAX_EP_NUM];
560 void *ep0_cb_data[USB_MAX_IF_NUM];
561 uint8_t num_ep0_hdlrs;
564 uint8_t device_speed;
565 uint8_t num_interfaces;
567 uint8_t config_value;
568 uint16_t device_status;
569 uint8_t *device_desc;
570 uint8_t *string_desc;
571 uint8_t *full_speed_desc;
572 uint8_t *high_speed_desc;
573 uint8_t *device_qualifier;
578 uint8_t alt_setting[USB_MAX_IF_NUM];
591 USB_SETUP_PACKET SetupPacket;
592 uint32_t lpm_setting;
594 uint8_t *bos_descriptor;
596 const struct USBD_HW_API *hw_api;
605 static INLINE
void USB_SetSpeedMode(USB_CORE_CTRL_T* pCtrl, uint8_t mode)
607 pCtrl->device_speed = mode;
612 USB_CORE_CTRL_T *pCtrl = (USB_CORE_CTRL_T *) hUsb;
613 return (pCtrl->config_value != 0);
ErrorCode_t
Definition: error.h:38
ErrorCode_t(* USB_PARAM_CB_T)(USBD_HANDLE_T hUsb, uint32_t param1)
USB device stack's event callback function type.
Definition: mw_usbd_core.h:80
uint8_t * full_speed_desc
Definition: mw_usbd_core.h:122
USB_CB_T USB_Feature_Event
Definition: mw_usbd_core.h:279
uint32_t lpm_setting
Definition: mw_usbd_core.h:286
uint32_t mem_size
Definition: mw_usbd_core.h:158
USB_CB_T USB_Reset_Event
Definition: mw_usbd_core.h:178
USB descriptors data structure.
Definition: mw_usbd_core.h:119
uint8_t high_speed_capable
Definition: mw_usbd_core.h:165
Error code returned by Boot ROM drivers/library functions.This file contains unified error codes to b...
USB_PARAM_CB_T USB_WakeUpCfg
Definition: mw_usbd_core.h:232
uint8_t * string_desc
Definition: mw_usbd_core.h:121
ErrorCode_t(* USB_EP_HANDLER_T)(USBD_HANDLE_T hUsb, void *data, uint32_t event)
USBD setup request and endpoint event handler type.
Definition: mw_usbd_core.h:105
USB_PARAM_CB_T USB_Power_Event
Definition: mw_usbd_core.h:235
uint32_t mem_base
Definition: mw_usbd_core.h:153
ErrorCode_t(* USB_CB_T)(USBD_HANDLE_T hUsb)
USB device stack's event callback function type.
Definition: mw_usbd_core.h:63
USBD stack Core API functions structure.
Definition: mw_usbd_core.h:320
USB_CB_T reserved_sbz
Definition: mw_usbd_core.h:201
USB_CB_T USB_Resume_Event
Definition: mw_usbd_core.h:198
USB_CB_T USB_Configure_Event
Definition: mw_usbd_core.h:257
USB_CB_T USB_SOF_Event
Definition: mw_usbd_core.h:215
Common definitions and declarations for the USB stack.
uint8_t * bos_descriptor
Definition: mw_usbd_core.h:140
uint8_t * device_desc
Definition: mw_usbd_core.h:120
uint8_t * device_qualifier
Definition: mw_usbd_core.h:136
uint8_t max_num_ep
Definition: mw_usbd_core.h:161
USB_PARAM_CB_T USB_Error_Event
Definition: mw_usbd_core.h:245
uint32_t usb_reg_base
Definition: mw_usbd_core.h:152
USB_CB_T USB_Interface_Event
Definition: mw_usbd_core.h:268
uint8_t double_buffer
Definition: mw_usbd_core.h:167
uint8_t * high_speed_desc
Definition: mw_usbd_core.h:128
void * USBD_HANDLE_T
Definition: mw_usbd.h:704
USB device stack initialization parameter data structure.
Definition: mw_usbd_core.h:151
USB_CB_T USB_Suspend_Event
Definition: mw_usbd_core.h:187