I am designing the board around iMX8M quad-core processor. The iMX8M has 2x USB modules: USB1 & USB2. The USB serial download mode is supported on USB1 module in device mode to flash the program in the internal boot memory device.
As per my product requirement, I want to use USB1 module as a USB3.0 Host port in the application and the same port for the serial download mode by configuring USB1 module as a USB2.0 device.
Explained both use cases in the diagram below:
Is there any challenge/limitation in the above configurations?
Do let me know if any other information required.
Hi, so I connected the imx 8 as USB 2.0 as i described above in device mode: ID is NC , and D+ and D- is goes to a usb mini connector(all protection in place). Vbus from connector goes through a 1k resistor to USB1_vbus.
I however cannot get windows or linux to recognise the device. It has just been powered up with no code and was panning to use the uuu utility to load firmware into an emmc device but I am unable to do that if windows can't see a new device connected. Am I missing something? Does this work with usb2.0 or only usb 3.0? any help will be greatly appreciated.
Hi, I have a rather simpler application, I will just need the serial downloader and USB 2.0 is good enough. Can I just connect the D+,D- signals of port 1 to a micro B usb (with the esd protection and inductor). and then pull up(or leave ID unconnected?
Is it ok to leave the RX and TX pins unconnected or I need to terminate them in a way?
Generally Your configuration is reasonable; the only comments is, that USB1_ID
should be grounded for USB host only operation and USB1_ID may be left floating
for USB device configuration.
Have a great day,
Note: If this post answers your question, please click the Correct Answer
button. Thank you!
Thank you Yuri,
We are configuring the same on OTG_ID pin you mentioned above for USB2.0.
Is the same configuration required for USB 3.0 as well? Do we need to pull the ID pin Low to configure USB3.0 port as a Host? If yes, then.....
my Default configuration (Usecase2) will be like,
1. Initially, the iMX8M USB1 module will be initialized as an OTG USB 2.0 port (as iMX8MD/Q USB modules are OTG USB2.0 compliant) & ID pin is pulled to Low voltage (Using jumper J1 in above diagrams) configures my USB3.0 Host port connector as a USB2.0 Host port.
2. Then the same USB2.0 Host port will be configured as USB3.0 host port by writing 01b to the "PRTCAPDIR"
& During Serial download mode (Usecase1),
1. The jumper J1 will be removed to make ID pin floating & Boot mode will be configured before power up. The iMX8M initialize USB OTG port first and configure my USB3.0 Host port connector as a USB2.0 Device port.
2. Will be ready now for the serial download.
Kindly confirm my understanding above.