Has anyone successfully used the i.MX6's USB OTG port in host mode? In our hardware design the USB OTG port works great for bootstrapping the processor. However I cannot seem to get it to operate in a host only mode (for use with thumb drives, etc.). It never seems to detect the attached device. Has anyone gotten this to work on one of the Freescale or Boundary development boards? In their own HW design? If so what changes if any were needed to the kernel or its configuration? Thanks for the help.
Solved! Go to Solution.
Usually, the USB Mini/Micro cable should do the trick for you.
If you want to have an OTG port, then you design in an AB-plug, where both connectors fit.
Generally speaking, the A connectors (which sets host mode of OTG port) are bigger than B, and hence the former only fit in AB-plugs, whereas the latter fit in both.
An A cable connects the ID pin to GND, and a B does not.
If you want to connect a thumb drive, then get an adapter from Mini/Micro-A to A-plug.
In my i.MX6S design, USB_ID pin is directly connected to GND. USD_VBUS is directly connected to 5V supply generated by a buck converter with enough supply capacity.
The board easily works in slave mode when it is connected to a host PC (USB_ID=1). but when I change the USB_ID pin to GND and try to use a slave device like USB pen drive, it does not show anything.
Also, I have not used USB_OC and USB_PWR pins in my design. Is it the reason of non-functional host mode?
Can you please help?
On SABRE AI CPU card, USB VBUS is controlled thru MAX7310, which in fact is controlled via I2C3,
but both spi nor and weim nor have conflict pad (EIM_D17 EIM_D18) with I2C3. When spi nor or weim nor
is enabled, the I2C3 can't be used, so that USB VBUS can't be powered on - as result the USB OTG can't
act as host.
Please check if USB cable is proper for host operations :