Nxp semiconductors, Chapter 15: lpc24xx usb otg controller – NXP Semiconductors LPC24XX UM10237 User Manual
Page 413
![background image](/manuals/190592/413/background.png)
UM10237_4
© NXP B.V. 2009. All rights reserved.
User manual
Rev. 04 — 26 August 2009
413 of 792
NXP Semiconductors
UM10237
Chapter 15: LPC24XX USB OTG controller
shows the actions that the OTG software stack should take in response to
the hardware actions setting REMOVE_PU, HNP_SUCCESS, AND HNP_FAILURE. The
relationship of the software actions to the Dual-Role B-Device states is also shown.
B-device states are in bold font with a circle around them.
Fig 60. Hardware support for B-device switching from peripheral state to host state
idle
set HNP_SUCCESS
set PORT_FUNC[0]
drive J on internal host controller port
and SE0 on U1
wait 25
μs for bus to settle
disconnect device controller from U1
set REMOVE_PU
bus suspended ?
set HNP_FAILURE,
clear B_HNP_TRACK,
clear PU_REMOVED
reconnect port U1 to the
device controller
reconnect port U1 to the
device controller
connect U1 to host controller
clear B_HNP_TRACK
clear PU_REMOVED
PU_REMOVED set?
PU_REMOVED set?
bus reset/resume detected?
connect from A-device detected?
bus reset/resume detected?
SE0 sent by host?
B_HNP_TRACK = 0
no
yes
yes
no
no
yes
yes
no
B_HNP_TRACK = 1 ?
no
no
no
yes