USB on-the-go high-speed (OTG_HS) RM0090
1524/1731 DocID018909 Rev 11
35.13.9 OTG programming model
The OTG_HS controller is an OTG device supporting HNP and SRP. When the core is
connected to an “A” plug, it is referred to as an A-device. When the core is connected to a
“B” plug it is referred to as a B-device. In host mode, the OTG_HS controller turns off V
BUS
to conserve power. SRP is a method by which the B-device signals the A-device to turn on
V
BUS
power. A device must perform both data-line pulsing and V
BUS
pulsing, but a host can
detect either data-line pulsing or V
BUS
pulsing for SRP. HNP is a method by which the B-
device negotiates and switches to host role. In Negotiated mode after HNP, the B-device
suspends the bus and reverts to the device role.
A-device session request protocol
The application must set the SRP-capable bit in the Core USB configuration register. This
enables the OTG_HS controller to detect SRP as an A-device.
Figure 428. A-device SRP
1. DRV_VBUS = V
BUS
drive signal to the PHY
VBUS_VALID = V
BUS
valid signal from PHY
A_VALID = A-device V
BUS
level signal to PHY
DP = Data plus line
DM = Data minus line
ai15681b
DRV_VBUS
VBUS_VALID
A_VALID
OTG_HS_FS_DP
OTG_HS_FS_DM
Suspend
V
BUS
pulsing
Data line pulsing
Connect
1
6
2
5
3
47
Low