HAL Driver

USB HAL driver implements ​​SoC-specific USB power management, interrupt handling and phy calibration interfaces, defines system-level preprocessor constants, exposes unified HAL API to upper-layer drivers.

../../_images/usb_hal_api.svg

And USB HAL driver defines following preprocessor constants used in upper-layer drivers:

Definition

Description

USB_REG_BASE

Base address of USB registers

USB_ADDON_REG_BASE

Base address of USB AddOn registers

USB_MAX_ENDPOINTS

Max number of endpoints supported in USB device mode

USB_MAX_PIPES

Max number of pipes supported in USB host mode

USB_VID

Realtek USB VID

USB_PID

Realtek USB PID

Note

  • USB HAL driver is built into USB host/device/DRD core library as default and customization is not allowed.

  • USB PHY calibration data is determined by Realtek during manufacturing and developer-side re-calibration is not allowed, for suspected calibration-related compatibility issues (e.g., USB enumeration failures, intermittent disconnection/reconnection issues), contact Realtek FAE for help.

Host Driver

Host Core Driver API Overview

../../_images/usb_host_api.svg

Device Driver

Device Core Driver API Overview

../../_images/usb_device_api.svg