| M480 BSP V3.05.001 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

Copyright
  (C) 2016-2020 Nuvoton Technology Corp. All rights reserved.

Definition in file usbd.h.