Texas Instruments OMAP5912 Reference Manual page 1530

Multimedia processor device overview and architecture
Hide thumbs Also See for OMAP5912:
Table of Contents

Advertisement

USB OTG Controller
Figure 56.
OMAP5912 OTG Controller SRP Generation When Acting as a Default-A
Dual-Role OTG Device
VA_VBUS_OUT(max)
VA_VBUS_VLD
VBUS
VA_SESS_VLD
VB_SESS_END
GND
D+
D−
A. OMAP5912 is acting as a default-B device. OTG_CTRL.BSESSEND=1. Application decides that it wants to communicate
with the default-B dual-role device. System software sets OTG_CTRL.B_BUSREQ.
B. OMAP5912 OTG controller sees write of 1 to OTG_CTRL.B_BUSREQ and sees OTG_CTRL.BSESSEND=1. OTG controller
waits until USB bus has been SE0 for the minimum time and then begins SRP process by setting
OTG_CTRL.OTG_PU and issues the OPRT_CHG interrupt.
C. OMAP5912 OTG interrupt handler sees OPRT_CHG interrupt and sees OTG_PU = 1. Handler initiates I
enable OTG transceiver D+ pullup.
2
D. OMAP5912 I
C operations to enable the D+ pullup complete. OMAP5912 software sets OTG_CTRL.OTG_PU to 1 to
indicate that the D+ pullup enable operation has completed.
E. OMAP5912 OTG controller changes OTG_CTRL.OTG_PU to 0 approximately 9 ms after it had set it to 1. OTG controller
also sets OTG_CTRL.OTG_VBUS_PU at the same time. OTG controller issues OPRT_CHG interrupt.
F. OMAP5912 OTG interrupt handler sees OPRT_CHG interrupt and sees OTG_PU = 0 and sees OTG_PU_VBUS = 1.
2
Handler initiates I
C operation to disable OTG transceiver D+ pullup and to enable OTG transceiver VBUS pullup.
2
G. OMAP5912 I
C operations to disable the D+ pullup and enable the VBUS pullup complete. OMAP5912 software sets
OTG_CTRL.OTG_PU to 1 to indicate that the D+ pullup disable operation has completed.
H. OMAP5912 OTG controller changes OTG_CTRL.OTG_PU_VBUS to 0 after a time specified by
OTG_SYSCON_2.SRP_GPUVBUS from the time the controller had set OTG_PU_VBUS to 1. If
OTG_SYSCON_2.SRP_GPDVBUS = 1, OTG controller sets OTG_CTRL.OTG_PD_VBUS to 1. OTG controller issues
OPRT_CHG interrupt.
I. OMAP5912 OTG interrupt handler sees OPRT_CHG interrupt and sees OTG_CTRL.OTG_PU_VBUS = 0 and sees current
value in OTG_CTRL.OTG_PD_VBUS. Handler initiates I
to enable or disable the OTG transceiver VBUS pulldown depending on the value of OTG_PD_VBUS.
J. OMAP5912 OTG controller waits for the time specified by OTG_SYSCON_2.SRP_GPUVBUS from the time the controller had
set OTG_PU_VBUS to 0. The OTG controller issues a B_SRP_DONE interrupt. If OTG_CTRL.OTG_PD_VBUS =1, the
controller sets OTG_PD_VBUS to 0 and issues an OPRT_CHG interrupt.
K. OMAP5912 OTG interrupt handler sees OTG interrupt. If OPRT_CHG interrupt is active, interrupt handler sees that
OTG_CTRL.OTG_PD_VBUS is 0 and initiates I
L. Some time later, the default−A device responds to the SRP request by driving VBUS active.
M. The OTG transceiver sees VBUS rise above VB_SESS_VLD and issues an interrupt.
N. The OMAP5912 GPIO interrupt handler sees the OTG transceiver interrupt and initiates the I
OTG transceiver interrupt status.
2
O. The I
C operation completes, and OMAP5912 system software updates OTG_CTRL.ASESSVLD, OTG_CTRL.BSESSEND,
OTG_CTRL.BSESSVLD, OTG_CTRL.VBUSVLD, and OTG_CTRL.ID. If BSESSVLD is 1, then the OMAP5912 USB
device controller will see VBUS go active and can begin preparations for enumeration.
P. The default-A device sees VBUS rise above VA_VBUS_VLD and can begin USB reset and enumerating the OMAP5912
default-B device.
238
Universal Serial Bus (USB)
cable and the A-device. The OMAP5912 OTG controller only implements D+
data line SRP pulses and does not request a D− pulse as a data line SRP
pulse.
H
F
G
D
C
A B
E
2
C operations to disable the OTG transceiver VBUS pulldown.
I
J
K
2
C operations to disable the OTG transceiver VBUS pullup and
P
M N
O
L
2
C operation to
2
C operations which query the
SPRU761A

Advertisement

Table of Contents
loading

Table of Contents