| CMSIS-Driver Peripheral Interface for Middleware and Application Code |

Loading...
Searching...
No Matches
Data Structures | Macros | Typedefs
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.