How to configure USB3 port to gen 1

Hi sir,
We want to limit USB3 port to gen1. After adding “nvidia,usb3-gen1-only = <1>” into tegra234-p3737-0000+p3701-0000.dts, but the USB3 port still runs in 10Gbps.

padctl@3520000 {

ports {
usb3-0 {
nvidia,usb2-companion = <1>;
nvidia,usb3-gen1-only = <1>;
status = “okay”;
};

usb3-1 {
	nvidia,usb2-companion = <0>;
	nvidia,usb3-gen1-only = <1>;
	status = "okay";
};

usb3-2 {
	nvidia,usb2-companion = <3>;
	nvidia,usb3-gen1-only = <1>;
	status = "okay";
};

};
};

How can we set usb3 speed to 5Gbps???

Jetpack 6 DP
Jetson Agx Orin 32G
Customized carrier board

Hi,

Please try to set this.

	usb3-0 {
				nvidia,usb2-companion = <1>;
				maximum-speed = "super-speed";
			};
1 Like

Hi Wayne,
I added maxium-speed as below, but USB still using 10000M(10Gbps).

--- a/source/kernel/kernel-jammy-src/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts
+++ b/source/kernel/kernel-jammy-src/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts
@@ -1828,6 +1828,8 @@
 
                 usb3-0 {
                     nvidia,usb2-companion = <1>;
+                    nvidia,usb3-gen1-only = <1>;
+                    maximum-speed = "super-speed";
                     status = "okay";
                     port {
                         ss_typec_p0: endpoint {
@@ -1837,8 +1839,11 @@
                 };
 
                 usb3-1 {
-                    nvidia,usb2-companion = <0>;
+                    //nvidia,usb2-companion = <0>;
                     status = "okay";
+                    nvidia,usb3-gen1-only = <1>;
+                    nvidia,usb2-companion = <1>;
+                    maximum-speed = "super-speed";
                     port {
                         ss_typec_p1: endpoint {
                             remote-endpoint = <&ss_ucsi_ccg_p1>;
@@ -1847,8 +1852,11 @@
                 };
 
                 usb3-2 {
-                    nvidia,usb2-companion = <3>;
+                    //nvidia,usb2-companion = <3>;
                     status = "okay";
+                    nvidia,usb3-gen1-only = <1>;
+                    nvidia,usb2-companion = <1>;
+                    maximum-speed = "super-speed";
                 };
             };
         };

Are you sure your device tree is taking effect on the board?

Hi,
I’m not sure which file to check to confirm if ‘maximum-speed’ has been set correctly. I haven’t seen any nodes related to speed.

a@y:/proc/device-tree/bus@0/usb@3610000$ ls
clock-names         interconnects       phy-names           reg-names
clocks              interrupts          phys                status
compatible          iommus              power-domain-names
dma-coherent        name                power-domains
interconnect-names  nvidia,xusb-padctl  reg
a@y:/proc/device-tree/bus@0/usb@3610000$ cd ../usb@3550000/
a@y:/proc/device-tree/bus@0/usb@3550000$ ls
clock-names         interconnects       phy-names           reg-names
clocks              interrupts          phys                status
compatible          iommus              power-domain-names
dma-coherent        name                power-domains
interconnect-names  nvidia,xusb-padctl  reg

This is basic device tree structure… if you add it under padctl@3520000, then you should to go padctl@3520000 and trace down.

Hi Wayne,
The “maximum-speed” setting is working.

maximum-speed = "super-speed";

It was my mistake. I modified the file located at source/kernel/kernel-jammy-src/arch/arm64/boot/dts/nvidia/tegra234-p3737-0000+p3701-0000.dts, but the rootfs actually uses the file at source/hardware/nvidia/t23x/nv-public/tegra234-p3737-0000+p3701-0000.dts .

Thank you for your support.

1 Like

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.