Can the jetson Orin Nx use three usb3.0?

The Orin Nx has three USB3.0 channels, only two have USB3.0, and one has only usb2.0

device-tree:
xusb_padctl: xusb_padctl@3520000 {
status = “okay”;
pads {
usb2 {
lanes {
usb2-0 {
nvidia,function = “xusb”;
status = “okay”;
};
usb2-1 {
nvidia,function = “xusb”;
status = “okay”;
};
usb2-2 {
nvidia,function = “xusb”;
status = “okay”;
};
};
};
usb3 {
lanes {
usb3-0 {
nvidia,function = “xusb”;
status = “okay”;
};
usb3-1 {
nvidia,function = “xusb”;
status = “okay”;
};
usb3-2 {
nvidia,function = “xusb”;
status = “okay”;
};
};
};
};

	ports {
		usb2-0 {/* Goes to recovery port */
			mode = "otg";
			status = "okay";
			vbus-supply = <&p3768_vdd_5v_sys>;
			usb-role-switch;
			port {
				typec_p0: endpoint {
					remote-endpoint = <&fusb_p0>;
				};
			};
		};
		usb2-1 {/* Goes to hub */
			mode = "host";
			vbus-supply = <&p3768_vdd_av10_hub>;
			status = "okay";
		};
		usb2-2 {/* Goes to M2.E */
			mode = "host";
			vbus-supply = <&p3768_vdd_5v_sys>;
			status = "okay";
		};
		usb3-0 {/* Goes to hub */
			nvidia,usb2-companion = <1>;
			status = "okay";
		};
		usb3-1 {/* Goes to J5 */
			nvidia,usb2-companion = <1>;
			status = "okay";
		};
		usb3-2 {/* Goes to J5 */
			nvidia,usb2-companion = <2>;
			status = "okay";
		};
	};
};

tegra_xudc: xudc@3550000 {
	status = "okay";
	phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
	<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>;
	phy-names = "usb2-0", "usb3-0";
	nvidia,xusb-padctl = <&xusb_padctl>;
};

tegra_xhci: xhci@3610000 {
	status = "okay";
	phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
		<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
		<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
		<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
		<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>,
		<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
	phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1", "usb3-2";
	nvidia,xusb-padctl = <&xusb_padctl>;
};

usb3-0 {/* Goes to hub /
nvidia,usb2-companion = <1>;
status = “okay”;
};
usb3-1 {/
Goes to J5 /
nvidia,usb2-companion = <1>;
status = “okay”;
};
usb3-2 {/
Goes to J5 */
nvidia,usb2-companion = <2>;
status = “okay”;
};
Currently, usb3-0 and usb3-1 can use USB3.0 separately, but cannot use the usb3.0 function simultaneously.
Is there any conflict between Orin Nx UPHY channel and other PCIE channels? If yes, how can I modify the device tree to use three usb3.0 devices at the same time.

這個device tree看起來有問題… 建議你還是把schematic附上吧

比方說好了 為什麼有兩個usb3共用同一組usb2?

nvidia,usb2-companion = <1>;

Thank you for your reply 。
According to the following channel configuration, usb3-0 cannot be recognized and only usb2.0 can be recognized.
usb3-0 {/* Go to hub /
nvidia, usb2-companion = <0>;
status = “okay”;

你不需要把問題重複一遍… 把線路圖放上來比較實際…



This is the schematic。

請問Jetson端的usb2 pins的線路在?


Sorry, schematic upload is missing。

能請你指出一下你的USB0,USB1,USB2分別在你給的那張圖的那裡嗎? connector端


Could you point out where is usb0,usb1 and usb2 in the schematic you provided? I mean connector side


I used one usbhub to expand three USB0s, usb1, and usb2

所以你的usb3全都是搭配hub後面出來的usb2再去做其他的usb port?

Both usb3-1 and usb3-2 can recognize and work normally, but usb3-0 cannot detect 3.0. So how should I modify or adjust what can make usb3-0 recognize 3.0 and work properly.

是的這樣會有問題 請重新改設計

usb3-1 and usb3-2 can both recognize and work normally with 3.0, how can this be explained?

Just coincidence… it is easy to see such behavior on USB. You may hit issue one day and come back to here again…

Not following spec may lead to work or not work. This is just unstable behavior…

Ok, thank you for your advice。