How to configure the Jetson Thor Type-C port to Host mode to read camera data?

Here is my attemp:
`ports {

		usb2-0 {
			status = "okay";
			mode = "host";
		};

		usb2-1 {
			status = "okay";
			mode = "host";
		};

		usb2-2 {
			status = "okay";
			mode = "host";
		};

		usb2-3 {
			status = "okay";
			mode = "host";
		};

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

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

		usb3-2 {
			status = "okay";
			nvidia,usb2-companion = <0x03>;
		};

		usb3-3 {
			status = "disabled";
		};
	};

	prod-settings {
		#prod-cells = <0x04>;

		prod {
			prod = <0x00 0x88 0x21fe0000 0x1ba0000 0x00 0x94 0x3c00000 0x1000000 0x00 0xc8 0x21fe0000 0x1ba0000 0x00 0xd4 0x3c00000 0x1000000 0x00 0x108 0x21fe0000 0x1ba0000 0x00 0x114 0x3c00000 0x1000000 0x00 0x148 0x21fe0000 0x1ba0000 0x00 0x154 0x3c00000 0x1000000 0x00 0x288 0x3fff000 0x51e000>;
		};
	};
};

usb@a808670000 {
	compatible = "nvidia,tegra264-xudc";
	reg = <0xa8 0x8670000 0x00 0x8000 0xa8 0x8678000 0x00 0x8000>;
	reg-names = "base\0fpci";
	interrupts = <0x02 0x02 0x04>;
	clocks = <0x02 0x10b 0x02 0x10c 0x02 0x104 0x02 0x103>;
	clock-names = "dev\0ss\0ss_src\0fs_src";
	power-domains = <0x02 0x0b 0x02 0x0a>;
	power-domain-names = "dev\0ss";
	nvidia,xusb-padctl = <0x157>;
	iommus = <0x05 0x3708>;
	dma-coherent;
	status = "disable";
	phys = <0x158 0x159>;
	phy-names = "usb2-0\0usb3-1";

	prod-settings {
		#prod-cells = <0x04>;

		prod {
			prod = <0x00 0x30 0x80000012 0x80000012 0x00 0x134 0x3fffffff 0x2c88 0x00 0x840 0x100 0x00 0x00 0x858 0xffffffff 0xf000>;
		};
	};
};

usb@a80aa10000 {
	compatible = "nvidia,tegra264-xusb";
	reg = <0xa8 0xaa10000 0x00 0x40000 0xa8 0xaa00000 0x00 0x10000 0xa8 0xaa50000 0x00 0x10000 0xa8 0x2000000 0x00 0x40000 0xa8 0x82e0000 0x00 0x40000>;
	reg-names = "base\0fpci\0bar2\0rst\0pinmux";
	interrupts-extended = <0x01 0x00 0x3b8 0x04 0x01 0x02 0x00 0x04 0x01 0x02 0x05 0x04 0x131 0x4f 0x04 0x131 0x50 0x04 0x131 0x51 0x04 0x131 0x52 0x04 0x131 0x53 0x04 0x131 0x54 0x04 0x131 0x55 0x04 0x131 0x56 0x04>;
	interrupt-names = "xhci\0mbox\0padctl\0wake0\0wake1\0wake2\0wake3\0wake4\0wake5\0wake6\0wake7";
	clocks = <0x02 0x10a 0x02 0x102 0x02 0x10c 0x02 0x104 0x02 0x01 0x02 0x103 0x02 0x12d 0x02 0x01 0x02 0xcf>;
	clock-names = "xusb_host\0xusb_falcon_src\0xusb_ss\0xusb_ss_src\0xusb_hs_src\0xusb_fs_src\0pll_u_480m\0clk_m\0pll_e";
	power-domains = <0x02 0x0c 0x02 0x0a>;
	power-domain-names = "xusb_host\0xusb_ss";
	nvidia,xusb-padctl = <0x157>;
	iommus = <0x05 0x3200 0x05 0x3300 0x05 0x3400 0x05 0x3500 0x05 0x3600>;
	dma-coherent;
	status = "okay";
	phys = <0x15a 0x15b 0x15c 0x15d 0x15e 0x158 0x159>;
	phy-names = "usb2-1", "usb2-2", "usb2-3", "usb3-0", "usb3-2", "usb2-0", "usb3-1";
};`

With these changes, the Type-C port is now successfully powering the hub and it can work. However, we are still only able to read data from one camera at a time. We have confirmed that all our cameras are working correctly.

Could you please advise on how we should further modify the device tree to resolve this? Looking forward to your reply.

Hi,
Please refer to the suggestion in
Using 3 USB 2.0 cameras with a Jetson Thor - #3 by DaneLLL

and see if you correctly modify the device tree. And please check if you use USB3 cameras and the cameras are enumerated as SuperSpeed.

Also you may connect some cameras to the type-A ports on developer kit, to use bandwidth of another roothub.

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