USB Ports bandwidth (10Gbps vs 5Gbps)

Hi.

According to the Jetson | AGX Xavier Series | Datasheet | DS-09654-002_v1.8 (1.11.3.3 page 31), the USB 3.1 port 0 and port 3 share one 10Gbps unit bandwidth and the USB 3.1 port 2 is allocated a separate 10Gbps unit bandwidth.

10 Gbps “unit” - port 0 + port 3
10 Gbps “unit” - port 2

Currently in our system (custom carrier board) we are using port 0 and port 3 for external USB-C contacts. With this setup we always get 10Gbps on port 0 and 5 Gbps on port 3. We are also using port 2 for an M.2 connector.

We need to have 10Gbps on both external ports and 5Gbps on the M.2 connector.

Should we re-route our design to use port 0 and port 2 for the external contacts instead - will this guarantee that we get 10Gbps on both ports, and 5Gbps on the M.2?

Hi,
It you need two ports achieving 10Gbps simultaneously, it is better to have one in port 0 and the other in port 2. One more thing is since port 0 + port 3 share 10Gbps, if both ports are in use, it may not be steadily at 10Gbps due to possible concurrent access to USB3 rootport.

Hi. Thanks. So far we are good.

But this leads to a secondary question. Since our current design uses port 0 (UPHY_XX6) and port 3 (UPHY_XX11) for the external USB-C contact. We always get, 10Gbps on the contact using port 0 and 5 Gbps on the contact using port 3 - no matter the cable used or device (all devices tested/verified as 10Gbps/USB 3.1 Gen 2 on port 0).

The routing from the contact to the AGX is as close as “identical as possible” for both ports.

So the question is something like - is there an “internal/hidden priority” in that if using both port 0 and port 3 (that share one 10Gbps), the port 0 will get a “10Gbps/SuperSpeed Plus” connection and the port 3 will get a “5Gbps/SuperSpeed” connection? Is this something we can rely on when redesigning?

Fully aware that port 0 and port 3 share 10Gbps and when used at the same time 10Gbps will not be reached for any of the two - but valid point.

Thanks!

Hi,
It sounds like the device is enumerated as USB3.0, not 3.1. Please check if you can do compliance test to ensure signal quality is good.

Hi again - thanks for the response.

So, according to what you are telling me there are no “internal/hidden priority” or something that dictates that “IF you are using both port 0 and port 3 in your pinmux/dts/design - then port 3 will only get a 5Gbps/SuperSpeed enumeration/connection”?

I am just trying to be as clear as possible before we decide to re-design or not.

Compliance test is nothing we have done so far. But you are of the opinion that if the signal quality is good enough on port 3 - we would get a 10Gbps/SuperSpeed Plus enumeration on that one as well?

As always, fully aware that 10Gbps would be the theoretical max + it shares it with port 0. But the enumeration is what I would say is of importance.

Thanks!

Hi,
If port 0 is not used, it shall reach 10Gbps in port 3. The sympton looks like the device is not enumerated as USB3.1 so it caps in 5Gbps(USB3.0).

Hello again. I have now (tried to) perform compliance tests on the ports in question.

How I did it: Used the steps described in “Jetson AGX Xavier Series Tuning and
Compliance Guide” V1.3/July 2022




Port 0 (UPHY_XX6), the port that enumerates as SuperSpeed Plus/10Gbps looks good - enters compliance mode without issues, changes compliance mode on Ping.LFPS and signals/jitter etc all look good.

However, I have issues with Port 3 (UPHYXX_11), the port that enumerates as SuperSpeed/5Gbps.

After step 7 (plug in host text fixture etc) It reads back 0x2A0 from 0x3610450 indicating it has entered compliance mode - but no signal (expected CP0 signal) is output from the port to the scope, and no change in the signal is seen on Ping.LFPS. Both directions/flip tested.

However, when inserting USB Media/Device to the port after rebooting, it enumerates “just fine” as SuperSpeed.

Do you know of any explanation to this behaviour?

Thanks.

Hi,
We have checked this and it looks like one setting in device tree may impact the bandwidth. Please check if you have the setting:

$ xxd /proc/device-tree/xusb_padctl\@3520000/ports/usb3-3/nvidia\,usb3-gen1-only
00000000: 0000 0001                                ....

If yes, please remove usb3-gen1-only from device tree and rebuild/replace the dtb/dtbo files.

Hello again, sorry for the delay, been working on solving it - issue still open/active.

Did check for that setting - it was not present.
However - when changing the ports from OTG to HOST and removing all references to extcon/xudc in the device tree. We got SuperSpeed Plus on both ports.

Is this something you are aware of/expected behaviour?

We are aware of the limitation on Device Mode being USB3.1 Gen 1 only - according to OEM Product Design Guide.

Thanks.