Jetpack 6.0 USB Type A not working correctly

Wayne,

I was able to resolve the issue with the following modifications to the device tree table. We only have one usb port on this particular project. Thank you for pointing out the “usb ccg”.

Here is small explanation of what I did for anyone who might have the same issue in the future:

I started off by removing all other usb ports that were included in the default stock device tree table under “padctl@3520000”. After that I ended up adding a “xusb_padctl” controller inside the device tree table to set the port to only host mode (this is outlined the the developer guide documentation above). The next thing that I did which Wayne pointed out was removing references to “usb ccg”. I did this by modifying the “i2c@240000” bus and removed the “typec@8” contents under this node. I did this because our board design does not have a type c driver chip so there is no reason to have it in the device tree (this also cleans up some small dmesg errors as a bonus). Finally I cleaned up the “usb@3550000” and “usb@3610000” by removing references to the usb ports I removed from the stock image.

This stub shows all the edits I performed to get the usb port to work:

tegra234-p3737-0000+p3701-0000.dts (USB STUB)
xusb_padctl: padctl@3520000{
	status = "okay";
	
	pads {
		usb2 {
			usb2-0 {
				nvidia,function = "xusb";
				status = "okay";
			};
		};
	};
	ports {
		usb2-0 {
			mode = "host";
			vbus-supply = <&vdd_5v0_sys>;
			status = "okay";
		};
	};
};

padctl@3520000 {
	status = "okay";
	
	pads {
		usb2 {
			lanes {
				usb2-0 {
					status = "okay";
					nvidia,function = "xusb";
				};
			};
		};
	};
	
	ports {
		usb2-0 {
			mode = "host";
			vbus-supply = <&vdd_5v0_sys>;
			status = "okay";
		};
	};
};

i2c@c240000 {
	status = "okay";
};

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

usb@3610000 {
	status = "okay";
	
	phys = <&{/bus@0/padctl@3520000/pads/usb2/lanes/usb2-0}>;
	phy-names = "usb2-0";
	nvidia,xusb-padctl = <&xusb_padctl>;
};