USB on-the-go full-speed (OTG_FS) RM0402
974/1163 RM0402 Rev 6
29.5.2 HNP dual role device
The HNP capable bit in the Global USB configuration register (HNPCAP bit in OTG_
GUSBCFG) enables the OTG_FS core to dynamically change its role from A-host to A-
peripheral and vice-versa, or from B-Peripheral to B-host and vice-versa according to the
host negotiation protocol (HNP). The current device status can be read by the combined
values of the connector ID status bit in the Global OTG control and status register (CIDSTS
bit in OTG_GOTGCTL) and the current mode of operation bit in the global interrupt and
status register (CMOD bit in OTG_GINTSTS).
The HNP program model is described in detail in Section 29.16: OTG_FS programming
model.
29.5.3 SRP dual role device
The SRP capable bit in the global USB configuration register (SRPCAP bit in
OTG_GUSBCFG) enables the OTG_FS core to switch off the generation of V
BUS
for the A-
device to save power. Note that the A-device is always in charge of driving V
BUS
regardless
of the host or peripheral role of the OTG_FS.
The SRP A/B-device program model is described in detail in Section 29.16: OTG_FS
programming model.
29.6 OTG_FS as a USB peripheral
This section gives the functional description of the OTG_FS in the USB peripheral mode.
The OTG_FS works as an USB peripheral in the following circumstances:
• OTG B-Peripheral
– OTG B-device default state if B-side of USB cable is plugged in
• OTG A-Peripheral
– OTG A-device state after the HNP switches the OTG_FS to its 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_GUSBCFG) is cleared.
• Peripheral only (see Figure 336: OTG_FS peripheral-only connection)
– The force device mode bit (FDMOD) in the
Section 29.15.4: OTG USB
configuration register (OTG_GUSBCFG) is set to 1, forcing the OTG_FS core to
work as an USB peripheral-only. In this case, the ID line is ignored even if it is
present on the USB connector.
Note: To build a bus-powered device implementation in case of the B-device or peripheral-only
configuration, an external regulator has to be added, that generates the necessary power-
supply from V
BUS
.