Nxp semiconductors, Chapter 15: lpc24xx usb otg controller – NXP Semiconductors LPC24XX UM10237 User Manual

Page 413

Advertising
background image

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

Figure 15–61

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

Advertising