M4521_BSP V3.02.000
The Board Support Package for M4521
Data Structures | Macros | Typedefs | Functions | Variables
usbh_core.h File Reference

USB Host core driver header file. More...

#include "usbh_config.h"
#include "usbh_list.h"
#include "usbh_err_code.h"
Include dependency graph for usbh_core.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  ISO_PACKET_DESCRIPTOR_T
 
struct  urb_t
 
struct  usb_device
 

Macros

#define AUTO_POWER_CONTROL
 

Typedefs

typedef struct urb_t URB_T
 
typedef HIDDEN_SYMBOLS struct usb_device USB_DEV_T
 

Functions

HIDDEN_SYMBOLS struct __attribute__ ((__packed__))
 
int32_t USBH_Open (void)
 Open USB Host controller function. More...
 
int USBH_ProcessHubEvents ()
 Processed USB hub device events. User application must invoke this routine in the main while loop. Device enumeration is done in this routine. More...
 
URB_T * USBH_AllocUrb (void)
 Allocate an URB from USB Core driver internal URB pool. More...
 
void USBH_FreeUrb (URB_T *)
 Free the URB allocated from USBH_AllocUrb() More...
 
int32_t USBH_SubmitUrb (URB_T *urb)
 Submit an URB to USB core for transfer data. More...
 
int32_t USBH_UnlinkUrb (URB_T *urb)
 Cancel an URB which has been submit to USB core. More...
 
int32_t USBH_SendCtrlMsg (USB_DEV_T *dev, uint32_t pipe, uint8_t request, uint8_t requesttype, uint16_t value, uint16_t index, void *data, uint16_t size, int timeout)
 Execute a control transfer. More...
 
int32_t USBH_SendBulkMsg (USB_DEV_T *usb_dev, uint32_t pipe, void *data, int len, int *actual_length, int timeout)
 Execute a bulk transfer. More...
 
int32_t USBH_RegisterDriver (USB_DRIVER_T *new_driver)
 Register a device driver to USB Host Core driver. More...
 
int32_t USBH_GetDescriptor (USB_DEV_T *dev, uint8_t type, uint8_t index, void *buf, int size)
 Get a descriptor from device. More...
 
int32_t USBH_SetConfiguration (USB_DEV_T *dev, int configuration)
 Select USB device configuration. More...
 
int32_t USBH_SetInterface (USB_DEV_T *dev, char interface, char alternate)
 Set USB device interface. More...
 
int32_t USBH_ClearHalt (USB_DEV_T *dev, int pipe)
 Clear the halt state of an endpoint. More...
 
int32_t USBH_Suspend (void)
 Suspend USB Host Controller and devices. More...
 
int32_t USBH_Resume (void)
 Resume USB Host controller and devices. More...
 
int32_t USBH_Close (void)
 Disable USB Host controller function. More...
 

Variables

 DEV_REQ_T
 
 USB_DEV_DESC_T
 
 USB_EP_DESC_T
 
 USB_IF_DESC_T
 
 USB_CONFIG_DESC_T
 

Detailed Description

USB Host core driver header file.

Version
V1.00 $Revision 2 $
Date
15/09/02 10:02a
Note
SPDX-License-Identifier: Apache-2.0 Copyright (C) 2018 Nuvoton Technology Corp. All rights reserved.

Definition in file usbh_core.h.

Macro Definition Documentation

◆ AUTO_POWER_CONTROL

#define AUTO_POWER_CONTROL

Definition at line 20 of file usbh_core.h.

Typedef Documentation

◆ URB_T

typedef struct urb_t URB_T

< URB structure
URB structure

◆ USB_DEV_T

typedef HIDDEN_SYMBOLS struct usb_device USB_DEV_T

< USB device structure
USB device structure

Function Documentation

◆ __attribute__()

struct __attribute__ ( (__packed__)  )

< device descriptor structure

< Endpoint descriptor structure

< Interface descriptor structure

< Configuration descriptor structure

< Characteristics of request

< Specific request

< Word-sized field that varies according to request

< Word-sized field that varies according to request; typically used to pass an index or offset

< Number of bytes to transfer if there is a Data stage

< Length of device descriptor

< Device descriptor type

< USB version number

< Device class code

< Device subclass code

< Device protocol code

< Maximum packet size of control endpoint

< Vendor ID

< Product ID

< Device ID

< Manufacture description string ID

< Product description string ID

< Serial number description string ID

< Total number of configurations

< Length of endpoint descriptor

< Descriptor type

< Endpoint address

< Endpoint attribute

< Maximum packet size

< Synchronous transfer interval

< Refresh

< Sync address

< Length of interface descriptor

< Descriptor type

< Interface number

< Alternate setting number

< Number of endpoints

< Interface class code

< Interface subclass code

< Interface protocol code

< Interface ID

< Endpoint descriptor

< Length of configuration descriptor

< Descriptor type

< Total length of this configuration

< Total number of interfaces

< Configuration descriptor number

< String descriptor ID

< Configuration characteristics

< Maximum power consumption

Definition at line 152 of file usbh_core.h.

Variable Documentation

◆ DEV_REQ_T

DEV_REQ_T

Definition at line 173 of file usbh_core.h.

◆ USB_CONFIG_DESC_T

USB_CONFIG_DESC_T

Configuration descriptor structure

Definition at line 344 of file usbh_core.h.

◆ USB_DEV_DESC_T

USB_DEV_DESC_T

device descriptor structure

Definition at line 252 of file usbh_core.h.

◆ USB_EP_DESC_T

USB_EP_DESC_T

Endpoint descriptor structure

Definition at line 282 of file usbh_core.h.

◆ USB_IF_DESC_T

USB_IF_DESC_T

Interface descriptor structure

Definition at line 315 of file usbh_core.h.