Jetson TK1 USB3.0 Controller used as Standalone USB2.0

Section 19.4 of the datasheet explains that the USB3.0 (xUSB) controller can support up 2 regular USB 3.0 ports or 3 standalone USB2.0 ports. We are in need of additional USB2.0 ports beyond the ones available from the USB2.0 controllers (USB_OTG, USB2, USB3).

How is the USB3.0 controller configured to support 3 independent USB2.0 ports? Which pins are used?

I’m not near documents right now, but as I recall one of the USB ports is sent to the mini-PCIe…possibly this is what you are looking for. Probably the most common means for people adding USB root to Jetson is via the mini-PCIe expansion, in which case you could add USB3 if desired, or more USB2.

I am keeping the current USB2.0 connection to the mini PCIe interface. The part of the USB complex that deals with the USB3.0 has two USB3.0 ports. I am wanting to use them as USB2.0 ports. There are two-pairs for signaling for USB3.0 but which pairs would I use for USB2.0? The datasheet actually mentioned you could have 3 USB2.0 ports from the 2 USB3.0 ports.

Is it correct that this is for custom hardware? I ask because Jetson does not expose other DP/DM pairs to the breakout headers (J3A1/J3A2).

Looking at section 19.4 it appears to me as if the actual ports used are separate from the controllers which can use those ports. In general, USB3 provides USB2 compatibility in the tegra124 via “companion” USB2 ports, rather than dedicated USB2 ports within that USB3 controller (the USB3 controller has dedicated USB3 handling, while USB2 on a USB3 port depends on outside ports to send data to the USB3 controller…this consumes a port which would otherwise be used on a USB2 controller).

Although I am uncertain of this, it looks like pinmux/padctl means total available ports at any one moment will not increase by using only USB2 on the USB3 controller…I believe pinmux means at least one USB2 port detaches or attaches to one and only one USB controller, regardless of that controller being USB2 or USB3, keeping total port count constant (only the controller used for that port changes). Perhaps someone with more detailed knowledge can verify that using USB3 controllers for only USB2 does not expose more ports.

Please refer to the Figure about USB controllers and interfaces on TRM.
The USB3.0 controller could be mapped to 2 USB3.0 and 3 USB2.0 port
The USB2.0 controller could be mapped to 1 USB2.0 or HSIC port.
There are 2 USB3.0 port and these port can’t work on USB2.0 mode.
The USB2.0 port could be USB0,USB1,USB2 and they could map to USB2.0 or USB3.0 controller
There are also 2 HSIC port could map to USB2.0 controller.
if the HSIC was used, The 3 USB2.0 controller is not enough to support 3 USB2.0 port.We could mapping USB2.0 port to USB3.0 controller to support max 3 USB 2.0 port.
It need HSIC to USB2.0 hub or USB2.0 Hub if need more USB 2.0 port

I appreciate all the feedback, however I am still a little bit fuzzy. Yes this is for a custom board. In a nutshell I am in need of 4 USB2.0 ports and would prefer not to use a USB hub. I am wanting to use one of the USB3.0 ports for USB2.0 to avoid a USB hub. Currently I have the following:

Connection 1 - USB2.0 (USB0/USB_OTG)
Connection 2 - USB2.0 (USB1), this one is going to my PCIe header
Connection 3 - USB2.0 (USB2)

The USB3.0 complex has two lanes for USB3 (USB3_TX0N/USB3_TX0P, USB3_RX0N/USB3_RX0P) To use this particular port for USB2.0 can I just use one of the lanes? I also assume there would need to be some registry setup for this.

“The USB3.0 complex has two lanes for USB3 (USB3_TX0N/USB3_TX0P, USB3_RX0N/USB3_RX0P) To use this particular port for USB2.0 can I just use one of the lanes?”

The USB3 port needs to use one of the USB2 controllers to provide USB2 compatibility (or at least that is my understanding).

In addition to what GE_Chen mentioned, the TRM, section 19.1, states that of the five exposed ports, two are HSIC (see That still leaves only 3 ports if you intend to use them with connections to the external world.

What is driving the need for 4 native ports without an external HUB (it would help to understand what is driving the need)?

TK1 support max 3 USB2.0 ports if no hsic or USB hub. The USB2.0 can’t route from USB3.0 pad