USB3.0 Host port config for serial download

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

USB3.0 Host port config for serial download

2,036 Views
riteshpatel
Contributor II

Hi,

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:pastedImage_4.png

pastedImage_5.png

Is there any challenge/limitation in the above configurations?

Do let me know if any other information required.

Thanks,

Ritesh

Labels (1)
Tags (2)
0 Kudos
5 Replies

1,511 Views
enoch_arthur
Contributor IV

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.

0 Kudos

1,617 Views
enoch_arthur
Contributor IV

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?

Many thanks

0 Kudos

1,617 Views
Yuri
NXP Employee
NXP Employee

Hello,

 

   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,

Yuri

 

------------------------------------------------------------------------------

Note: If this post answers your question, please click the Correct Answer

button. Thank you!

0 Kudos

1,617 Views
riteshpatel
Contributor II

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.

Thanks,

Ritesh.

0 Kudos

1,617 Views
Yuri
NXP Employee
NXP Employee

Hello,

   Generally Your approach may be used. In common case, when using the Type-C, the following 
configuration may be considered.

pastedImage_1.png

Regards,

Yuri.

0 Kudos