CMSIS-Driver  
Peripheral Interface for Middleware and Application Code
 
Loading...
Searching...
No Matches
Driver_USBH.h File Reference

Data Structures

struct  ARM_USBH_PORT_STATE
 USB Host Port State. More...
 
struct  ARM_USBH_CAPABILITIES
 USB Host Driver Capabilities. More...
 
struct  ARM_DRIVER_USBH
 Access structure of USB Host Driver. More...
 
struct  ARM_USBH_HCI_CAPABILITIES
 USB Host HCI (OHCI/EHCI) Driver Capabilities. More...
 
struct  ARM_DRIVER_USBH_HCI
 Access structure of USB Host HCI (OHCI/EHCI) Driver. More...
 

Macros

#define ARM_USBH_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */
 
#define _ARM_Driver_USBH_(n)   Driver_USBH##n
 
#define ARM_Driver_USBH_(n)   _ARM_Driver_USBH_(n)
 
#define ARM_USBH_EP_HANDLE   ARM_USBH_PIPE_HANDLE /* Legacy name */
 
#define ARM_USBH_PACKET_TOKEN_Pos   0
 
#define ARM_USBH_PACKET_TOKEN_Msk   (0x0FUL << ARM_USBH_PACKET_TOKEN_Pos)
 
#define ARM_USBH_PACKET_SETUP   (0x01UL << ARM_USBH_PACKET_TOKEN_Pos)
 SETUP Packet.
 
#define ARM_USBH_PACKET_OUT   (0x02UL << ARM_USBH_PACKET_TOKEN_Pos)
 OUT Packet.
 
#define ARM_USBH_PACKET_IN   (0x03UL << ARM_USBH_PACKET_TOKEN_Pos)
 IN Packet.
 
#define ARM_USBH_PACKET_PING   (0x04UL << ARM_USBH_PACKET_TOKEN_Pos)
 PING Packet.
 
#define ARM_USBH_PACKET_DATA_Pos   4
 
#define ARM_USBH_PACKET_DATA_Msk   (0x0FUL << ARM_USBH_PACKET_DATA_Pos)
 
#define ARM_USBH_PACKET_DATA0   (0x01UL << ARM_USBH_PACKET_DATA_Pos)
 DATA0 PID.
 
#define ARM_USBH_PACKET_DATA1   (0x02UL << ARM_USBH_PACKET_DATA_Pos)
 DATA1 PID.
 
#define ARM_USBH_PACKET_SPLIT_Pos   8
 
#define ARM_USBH_PACKET_SPLIT_Msk   (0x0FUL << ARM_USBH_PACKET_SPLIT_Pos)
 
#define ARM_USBH_PACKET_SSPLIT   (0x08UL << ARM_USBH_PACKET_SPLIT_Pos)
 SSPLIT Packet.
 
#define ARM_USBH_PACKET_SSPLIT_S   (0x09UL << ARM_USBH_PACKET_SPLIT_Pos)
 SSPLIT Packet: Data Start.
 
#define ARM_USBH_PACKET_SSPLIT_E   (0x0AUL << ARM_USBH_PACKET_SPLIT_Pos)
 SSPLIT Packet: Data End.
 
#define ARM_USBH_PACKET_SSPLIT_S_E   (0x0BUL << ARM_USBH_PACKET_SPLIT_Pos)
 SSPLIT Packet: Data All.
 
#define ARM_USBH_PACKET_CSPLIT   (0x0CUL << ARM_USBH_PACKET_SPLIT_Pos)
 CSPLIT Packet.
 
#define ARM_USBH_PACKET_PRE   (1UL << 12)
 PRE Token.
 
#define ARM_USBH_EVENT_CONNECT   (1UL << 0)
 USB Device Connected to Port.
 
#define ARM_USBH_EVENT_DISCONNECT   (1UL << 1)
 USB Device Disconnected from Port.
 
#define ARM_USBH_EVENT_OVERCURRENT   (1UL << 2)
 USB Device caused Overcurrent.
 
#define ARM_USBH_EVENT_RESET   (1UL << 3)
 USB Reset completed.
 
#define ARM_USBH_EVENT_SUSPEND   (1UL << 4)
 USB Suspend occurred.
 
#define ARM_USBH_EVENT_RESUME   (1UL << 5)
 USB Resume occurred.
 
#define ARM_USBH_EVENT_REMOTE_WAKEUP   (1UL << 6)
 USB Device activated Remote Wakeup.
 
#define ARM_USBH_EVENT_TRANSFER_COMPLETE   (1UL << 0)
 Transfer completed.
 
#define ARM_USBH_EVENT_HANDSHAKE_NAK   (1UL << 1)
 NAK Handshake received.
 
#define ARM_USBH_EVENT_HANDSHAKE_NYET   (1UL << 2)
 NYET Handshake received.
 
#define ARM_USBH_EVENT_HANDSHAKE_MDATA   (1UL << 3)
 MDATA Handshake received.
 
#define ARM_USBH_EVENT_HANDSHAKE_STALL   (1UL << 4)
 STALL Handshake received.
 
#define ARM_USBH_EVENT_HANDSHAKE_ERR   (1UL << 5)
 ERR Handshake received.
 
#define ARM_USBH_EVENT_BUS_ERROR   (1UL << 6)
 Bus Error detected.
 
#define ARM_USBH_SignalEndpointEvent_t   ARM_USBH_SignalPipeEvent_t /* Legacy name */
 

Typedefs

typedef uint32_t ARM_USBH_PIPE_HANDLE
 USB Host Pipe Handle.
 
typedef void(* ARM_USBH_SignalPortEvent_t) (uint8_t port, uint32_t event)
 Pointer to ARM_USBH_SignalPortEvent : Signal Root HUB Port Event.
 
typedef void(* ARM_USBH_SignalPipeEvent_t) (ARM_USBH_PIPE_HANDLE pipe_hndl, uint32_t event)
 Pointer to ARM_USBH_SignalPipeEvent : Signal Pipe Event.
 
typedef void(* ARM_USBH_HCI_Interrupt_t) (void)
 Pointer to Interrupt Handler Routine.
 

Data Structure Documentation

◆ ARM_USBH_HCI_CAPABILITIES

struct ARM_USBH_HCI_CAPABILITIES

USB Host HCI (OHCI/EHCI) Driver Capabilities.

Data Fields
uint32_t port_mask: 15 Root HUB available Ports Mask.
uint32_t reserved: 17 Reserved (must be zero)

Macro Definition Documentation

◆ ARM_USBH_API_VERSION

#define ARM_USBH_API_VERSION   ARM_DRIVER_VERSION_MAJOR_MINOR(2,4) /* API version */

◆ _ARM_Driver_USBH_

#define _ARM_Driver_USBH_ (   n)    Driver_USBH##n

◆ ARM_Driver_USBH_

#define ARM_Driver_USBH_ (   n)    _ARM_Driver_USBH_(n)

◆ ARM_USBH_EP_HANDLE

#define ARM_USBH_EP_HANDLE   ARM_USBH_PIPE_HANDLE /* Legacy name */

◆ ARM_USBH_PACKET_TOKEN_Pos

#define ARM_USBH_PACKET_TOKEN_Pos   0

◆ ARM_USBH_PACKET_TOKEN_Msk

#define ARM_USBH_PACKET_TOKEN_Msk   (0x0FUL << ARM_USBH_PACKET_TOKEN_Pos)

◆ ARM_USBH_PACKET_DATA_Pos

#define ARM_USBH_PACKET_DATA_Pos   4

◆ ARM_USBH_PACKET_DATA_Msk

#define ARM_USBH_PACKET_DATA_Msk   (0x0FUL << ARM_USBH_PACKET_DATA_Pos)

◆ ARM_USBH_PACKET_SPLIT_Pos

#define ARM_USBH_PACKET_SPLIT_Pos   8

◆ ARM_USBH_PACKET_SPLIT_Msk

#define ARM_USBH_PACKET_SPLIT_Msk   (0x0FUL << ARM_USBH_PACKET_SPLIT_Pos)

◆ ARM_USBH_SignalEndpointEvent_t

#define ARM_USBH_SignalEndpointEvent_t   ARM_USBH_SignalPipeEvent_t /* Legacy name */

Typedef Documentation

◆ ARM_USBH_HCI_Interrupt_t

typedef void(* ARM_USBH_HCI_Interrupt_t) (void)

Pointer to Interrupt Handler Routine.