TM
USB Topology
Introduction to USB
USB On-the-Go:

How does it work?

To implement OTG, two new protocols were added in the USB 2.0
addendum. These new protocols allow USB OTG host wake-up
and role reversal respectively. They are:
Appendix A USB On-the-Go
SRP = Session Negotiation Protocol
HNP = Host Negotiation Protocol
SRP introduces these new/expanded states:
OTG-A device: a_idle, a_wait_vfall, b_idle
OTG-B device: b_srp_init
HNP introduces these new/expanded new states:
OTG-A device: a_peripheral, a_suspend, a_idle
OTG-B device: b_idle, b_host, b_wait_acon, a_idle