Using 2 USB Clients in Colibri iMX6ULL

Hi Toradex team,

A customer contacted us that they were looking to use 2 different USB ports as USB client at the same time in the Colibri iMX6ULL, as they are interested in being able to access the module from a PC as MSC and HID devices at the same time.

They asked us if the limitation of the USB_OTG2 could be “workarounded” by setting the corresponding USB ID pin in order to have the USB_OTG2 port defined as client in a custom carrier board. My confusion comes from the ULL ball name which states “OTG” and, even though the additional comment of “the module does not support true OTG”, I’m not completely sure so I’d rather ask.

Additionally, I’m currently checking with them if they would be able to use composite mode and use a single port as an alternative.

Best regards,

Hi Alvaro

I expect that this should be possible though I’m unaware of anyone who tried it out.

You could in the device set the role of USB_OTG2 to client. I guess that you still would need to provide the VBus signal for connect/disconnect events. That signal (after 5V to 3.3V level shifter) could go to any GPIO and then be handled like the OTG1’s USB_C_DET pin.

At least the Evaluation Board cannot be used to try this as there’s a HUB preventing you from accessing the USB signals. One probably could do something with an Iris.

Probably using one cable and make the Colibri iMX6ULL into a composite device is the better system design. Also this would allow to use other Colibri modules were the 2nd USB is host only.


Thanks Max, understood. Regarding the VBUS control and the usage in the Iris (in order to try this), a level shifter should be provided externally, right?

Regards, Alvaro.