M480 BSP V3.05.005
The Board Support Package for M480 Series
Data Structures | Macros | Typedefs | Functions | Variables
usbd.h File Reference

M480 series USB driver header file. More...

Go to the source code of this file.

Data Structures

struct  s_usbd_info
 

Macros

#define USBD_BUF_BASE
 
#define USBD_MAX_EP
 
#define EP0
 
#define EP1
 
#define EP2
 
#define EP3
 
#define EP4
 
#define EP5
 
#define EP6
 
#define EP7
 
#define EP8
 
#define EP9
 
#define EP10
 
#define EP11
 
#define USBD_WAKEUP_EN
 
#define USBD_DRVSE0
 
#define USBD_DPPU_EN
 
#define USBD_PWRDN
 
#define USBD_PHY_EN
 
#define USBD_USB_EN
 
#define USBD_INT_BUS
 
#define USBD_INT_USB
 
#define USBD_INT_FLDET
 
#define USBD_INT_WAKEUP
 
#define USBD_INTSTS_WAKEUP
 
#define USBD_INTSTS_FLDET
 
#define USBD_INTSTS_BUS
 
#define USBD_INTSTS_USB
 
#define USBD_INTSTS_SETUP
 
#define USBD_INTSTS_EP0
 
#define USBD_INTSTS_EP1
 
#define USBD_INTSTS_EP2
 
#define USBD_INTSTS_EP3
 
#define USBD_INTSTS_EP4
 
#define USBD_INTSTS_EP5
 
#define USBD_INTSTS_EP6
 
#define USBD_INTSTS_EP7
 
#define USBD_INTSTS_EP8
 
#define USBD_INTSTS_EP9
 
#define USBD_INTSTS_EP10
 
#define USBD_INTSTS_EP11
 
#define USBD_STATE_USBRST
 
#define USBD_STATE_SUSPEND
 
#define USBD_STATE_RESUME
 
#define USBD_STATE_TIMEOUT
 
#define USBD_CFGP_SSTALL
 
#define USBD_CFG_CSTALL
 
#define USBD_CFG_EPMODE_DISABLE
 
#define USBD_CFG_EPMODE_OUT
 
#define USBD_CFG_EPMODE_IN
 
#define USBD_CFG_TYPE_ISO
 
#define USBD_Maximum(a, b)
 Compare two input numbers and return maximum one. More...
 
#define USBD_Minimum(a, b)
 Compare two input numbers and return minimum one. More...
 
#define USBD_ENABLE_USB()
 Enable USB. More...
 
#define USBD_DISABLE_USB()
 Disable USB. More...
 
#define USBD_ENABLE_PHY()
 Enable USB PHY. More...
 
#define USBD_DISABLE_PHY()
 Disable USB PHY. More...
 
#define USBD_SET_SE0()
 Enable SE0. Force USB PHY transceiver to drive SE0. More...
 
#define USBD_CLR_SE0()
 Disable SE0. More...
 
#define USBD_SET_ADDR(addr)
 Set USB device address. More...
 
#define USBD_GET_ADDR()
 Get USB device address. More...
 
#define USBD_ENABLE_INT(intr)
 Enable USB interrupt function. More...
 
#define USBD_GET_INT_FLAG()
 Get interrupt status. More...
 
#define USBD_CLR_INT_FLAG(flag)
 Clear USB interrupt flag. More...
 
#define USBD_GET_EP_FLAG()
 Get endpoint status. More...
 
#define USBD_GET_BUS_STATE()
 Get USB bus state. More...
 
#define USBD_IS_ATTACHED()
 Check cable connection state. More...
 
#define USBD_STOP_TRANSACTION(ep)
 Stop USB transaction of the specified endpoint ID. More...
 
#define USBD_SET_DATA1(ep)
 Set USB DATA1 PID for the specified endpoint ID. More...
 
#define USBD_SET_DATA0(ep)
 Set USB DATA0 PID for the specified endpoint ID. More...
 
#define USBD_SET_PAYLOAD_LEN(ep, size)
 Set USB payload size (IN data) More...
 
#define USBD_GET_PAYLOAD_LEN(ep)
 Get USB payload size (OUT data) More...
 
#define USBD_CONFIG_EP(ep, config)
 Configure endpoint. More...
 
#define USBD_SET_EP_BUF_ADDR(ep, offset)
 Set USB endpoint buffer. More...
 
#define USBD_GET_EP_BUF_ADDR(ep)
 Get the offset of the specified USB endpoint buffer. More...
 
#define USBD_SET_EP_STALL(ep)
 Set USB endpoint stall state. More...
 
#define USBD_CLR_EP_STALL(ep)
 Clear USB endpoint stall state. More...
 
#define USBD_GET_EP_STALL(ep)
 Get USB endpoint stall state. More...
 

Typedefs

typedef struct s_usbd_info S_USBD_INFO_T
 
typedef void(* VENDOR_REQ) (void)
 
typedef void(* CLASS_REQ) (void)
 
typedef void(* SET_INTERFACE_REQ) (uint32_t u32AltInterface)
 
typedef void(* SET_CONFIG_CB) (void)
 

Functions

__STATIC_INLINE void USBD_MemCopy (uint8_t dest[], uint8_t src[], uint32_t size)
 To support byte access between USB SRAM and system SRAM. More...
 
__STATIC_INLINE void USBD_SetStall (uint8_t epnum)
 Set USB endpoint stall state. More...
 
__STATIC_INLINE void USBD_ClearStall (uint8_t epnum)
 Clear USB endpoint stall state. More...
 
__STATIC_INLINE uint32_t USBD_GetStall (uint8_t epnum)
 Get USB endpoint stall state. More...
 
void USBD_Open (const S_USBD_INFO_T *param, CLASS_REQ pfnClassReq, SET_INTERFACE_REQ pfnSetInterface)
 This function makes USBD module to be ready to use. More...
 
void USBD_Start (void)
 This function makes USB host to recognize the device. More...
 
void USBD_GetSetupPacket (uint8_t *buf)
 Get the received SETUP packet. More...
 
void USBD_ProcessSetupPacket (void)
 Process SETUP packet. More...
 
void USBD_StandardRequest (void)
 Process standard request. More...
 
void USBD_PrepareCtrlIn (uint8_t pu8Buf[], uint32_t u32Size)
 Prepare the first Control IN pipe. More...
 
void USBD_CtrlIn (void)
 Repeat Control IN pipe. More...
 
void USBD_PrepareCtrlOut (uint8_t *pu8Buf, uint32_t u32Size)
 Prepare the first Control OUT pipe. More...
 
void USBD_CtrlOut (void)
 Repeat Control OUT pipe. More...
 
void USBD_SwReset (void)
 Reset software flags. More...
 
void USBD_SetVendorRequest (VENDOR_REQ pfnVendorReq)
 USBD Set Vendor Request. More...
 
void USBD_SetConfigCallback (SET_CONFIG_CB pfnSetConfigCallback)
 The callback function which called when get SET CONFIGURATION request. More...
 
void USBD_LockEpStall (uint32_t u32EpBitmap)
 EP stall lock function to avoid stall clear by USB SET FEATURE request. More...
 

Variables

const S_USBD_INFO_T gsInfo
 
volatile uint8_t g_usbd_RemoteWakeupEn
 

Detailed Description

M480 series USB driver header file.

Version
V1.00

SPDX-License-Identifier: Apache-2.0

Definition in file usbd.h.