How does USB OTG manage both host and device

i read on the iMX7 data sheet “The Colibri iMX7 module does not support true OTG, but the interface can be configured as host or client.”
how do i achieve that? what does it mean that it’s not a “true OTG” ?
does that mean if I supply one USB micro AB connector it won’t auto detect depending on the cable type connector being plugged in? how do i implement this feature then?

Hi @tcapoli
Thanks for writing to the Toradex Support.

Please read the following article to know about the OTG Implementation for Colibri Standard. Additionally check the schematics of the Colibri Carrier Boards to get knowledge about the Hardware Implementation.

Best regards,

thanks @Jaski.tx but this article doesn’t mention that it’s application for Calibiri iMX7 which is what I am using, please confirm. The Colibri iMX7 states its not supporting this feature, so it’s kind of confusing how to implement by schematics so it can use one micro AB connector for both host/device and will be auto detected by the cable connector plugged in.

Hello tcapoli,

True OTG would mean that when you plug in a USB micro cable into the carrier board and you connect it with some other device the two partners would negotiate who will be the Client and how would be the host. in the reality, this is barely done. An Example Use Case could be if you would plug two phones together.

And this auto-negotiating OTG feature is not supported.

How we solve it if you look at the schematics of our carrier board e.g. the Iris carrier board, you will see that we are taking the ID Signal and if we detect 5 Volt we switch into client mode.

Best Regards,