iMX6 USB Host and OTG

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

iMX6 USB Host and OTG

Jump to solution
5,374 Views
atillametetured
Contributor V

Greetings,

This is the first time I am designing a board with USB so I would like to hear your opinion on the setup I built for iMX6Q USB Host and OTG applications.

-I am using SWBST of PF0100 to get the 5V necessary for the USB_OTG_VBUS and USB_H1_VBUS. USB_

-OTG_VBUS is directly connected to the boost regulator output.

-USB_H1_VBUS is connected to the boost regulator output through a switch and from there it is connected to the VBUS of Type A connector.

-USB MINI AB connector VBUS is connected to the boost regulator output over a switch so I can comply with the specifications.

-Both switches are limited to 100mA overcurrent detection so no device can draw more than that.

Below are the schematics to my design which I based on Sabre and some other boards;

USB1.PNGUSB2.PNGUSB3.PNG

What do you guys think about the validity of the design. Also do you think 100 mA current limit I set would be a problem when I am using the USB OTG for serial downloader during boot operation?

Thanks in advance,

Regards,

Mete

Labels (2)
0 Kudos
1 Solution
1,895 Views
art
NXP Employee
NXP Employee

Actually, USB_H1_OC is the input that signals the overcurrent event to the USB Host core. The switch should be controlled by the USB_H1_PWR signal that is controlled by the USB Host core.

Best Regards,

Artur

View solution in original post

3 Replies
1,895 Views
art
NXP Employee
NXP Employee

Please refer to the Table 2-12 "USB recommendations" on the Page 24 (2-10) of the attached Hardware Development Guide document. According to that, you have to do the things in the opposite way, i.e. connect USB_H1_VBUS directly to both SWBST and VBUS pin of the connector (or at least keep the MIC2545 switch in always on state in your current configuration if you need an overcurrent signaling) and connect the USB_OTG_VBUS to the connector's VBUS pin (same way as currently done for USB_H1_VBUS) and keep the switch off until the OTG port starts operating in the Host mode. The reason is that the OTG port must not provide any power on the connector's VBUS pin by itself while it operates in Device mode (for example, when it operates in the serial bootloader mode).


Have a great day,
Artur

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

1,894 Views
atillametetured
Contributor V

Hello Artur,

Thanks for the great information. That helps a lot. One more point;

(or at least keep the MIC2545 switch in always on state in your current configuration if you need an overcurrent signaling)

Should I implement this in the software to keep the switch on all the time or do you mean pull it up by a resistor and pull it low by the USB_H1_OC after an overcurrent event occurs?

Regards,

Mete

0 Kudos
1,896 Views
art
NXP Employee
NXP Employee

Actually, USB_H1_OC is the input that signals the overcurrent event to the USB Host core. The switch should be controlled by the USB_H1_PWR signal that is controlled by the USB Host core.

Best Regards,

Artur