USB on-the-go high-speed (OTG_HS)
RM0090
1374/1731
DocID018909 Rev 11
35.5
USB functional description in peripheral mode
The OTG_HS operates as an USB peripheral in the following circumstances:
•
OTG B-device
OTG B-device default state if the B-side of USB cable is plugged in
•
OTG A-device
OTG A-device state after the HNP switches the OTG_HS to peripheral role
•
B-Device
If the ID line is present, functional and connected to the B-side of the USB cable, and
the HNP-capable bit in the Global USB Configuration register (HNPCAP bit in
OTG_HS_GUSBCFG) is cleared (see On-The-Go specification Revision 1.3 section
6.8.3).
•
Figure 388: USB peripheral-only connection
)
The force peripheral mode bit in the Global USB configuration register (FDMOD in
OTG_HS_GUSBCFG) is set to 1, forcing the OTG_HS core to operate in USB
peripheral-only mode (see On-The-Go specification Revision 1.3 section 6.8.3). In this
case, the ID line is ignored even if it is available on the USB connector.
Note:
To build a bus-powered device architecture in the B-Device or peripheral-only configuration,
an external regulator must be added to generate the V
DD
supply voltage from V
BUS
.
35.5.1 SRP-capable
peripheral
The SRP capable bit in the Global USB configuration register (SRPCAP bit in
OTG_HS_GUSBCFG) configures the OTG_HS to support the session request protocol
(SRP). As a result, it allows the remote A-device to save power by switching V
BUS
off when
the USB session is suspended.
The SRP peripheral mode program model is described in detail in
.
35.5.2 Peripheral
states
Powered state
The V
BUS
input detects the B-session valid voltage used to put the USB peripheral in the
Powered state (see USB2.0 specification section 9.1). The OTG_HS then automatically
connects the DP pull-up resistor to signal full-speed device connection to the host, and
generates the session request interrupt (SRQINT bit in OTG_HS_GINTSTS) to notify the
Powered state. The V
BUS
input also ensures that valid V
BUS
levels are supplied by the host
during USB operations. If V
BUS
drops below the B-session valid voltage (for example
because power disturbances occurred or the host port has been switched off), the OTG_HS
automatically disconnects and the session end detected (SEDET bit in
OTG_HS_GOTGINT) interrupt is generated to notify that the OTG_HS has exited the
Powered state.
In Powered state, the OTG_HS expects a reset from the host. No other USB operations are
possible. When a reset is received, the reset detected interrupt (USBRST in
OTG_HS_GINTSTS) is generated. When the reset is complete, the enumeration done
interrupt (ENUMDNE bit in OTG_HS_GINTSTS) is generated and the OTG_HS enters the
Default state.