I’m creating a custom carrier for Jetson orin nx which uses USB3-2 with usb2-2 companion following this schematic i have updated the dtb to match these changes
usb@3610000 {
power-domains = <0x03 0x0c 0x03 0x0a>;
iommus = <0xf0 0x0e>;
dma-coherent;
interconnect-names = "dma-mem\0write";
phy-names = "usb2-0\0usb2-1\0usb2-2\0usb3-2\0usb3-1";
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";
interconnects = <0x57 0x4a 0x58 0x57 0x4b 0x58>;
reg-names = "hcd\0fpci\0bar2";
power-domain-names = "xusb_host\0xusb_ss";
nvidia,xusb-padctl = <0xfa>;
clocks = <0x03 0x10b 0x03 0x10d 0x03 0x10c 0x03 0x113 0x03 0x0e 0x03 0x110 0x03 0x67 0x03 0x0e 0x03 0x64>;
interrupts-extended = <0x01 0x00 0xa3 0x04 0x01 0x00 0xa4 0x04 0xfd 0x4c 0x04 0xfd 0x4d 0x04 0xfd 0x4e 0x04 0xfd 0x4f 0x04 0xfd 0x50 0x04 0xfd 0x51 0x04 0xfd 0x52 0x04>;
compatible = "nvidia,tegra234-xusb";
status = "okay";
interrupt-names = "xhci\0mbox\0wake0\0wake1\0wake2\0wake3\0wake4\0wake5\0wake6";
phys = <0xfb 0xfe 0xff 0x100 0xfc>;
reg = <0x00 0x3610000 0x00 0x40000 0x00 0x3600000 0x00 0x10000 0x00 0x3650000 0x00 0x10000>;
};
padctl@3520000 {
reg-names = "padctl\0ao";
resets = <0x03 0x72>;
interrupts = <0x00 0xa7 0x04>;
avdd-usb-supply = <0xf6>;
compatible = "nvidia,tegra234-xusb-padctl";
status = "okay";
vclamp-usb-supply = <0xf5>;
reg = <0x00 0x3520000 0x00 0x20000 0x00 0x3540000 0x00 0x10000>;
phandle = <0xfa>;
reset-names = "padctl";
ports {
usb3-2 {
nvidia,usb2-companion = <0x02>;
status = "okay";
};
usb3-0 {
status = "disabled";
};
usb2-2 {
mode = "host";
vbus-supply = <0xf9>;
status = "okay";
};
usb2-0 {
usb-role-switch;
mode = "otg";
vbus-supply = <0xf7>;
status = "okay";
port {
endpoint {
remote-endpoint = <0xf8>;
phandle = <0x106>;
};
};
};
usb3-3 {
status = "disabled";
};
usb3-1 {
nvidia,usb2-companion = <0x01>;
status = "okay";
};
usb2-3 {
status = "disabled";
};
usb2-1 {
mode = "host";
vbus-supply = <0xf9>;
status = "okay";
};
};
pads {
usb3 {
lanes {
usb3-2 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "okay";
phandle = <0x100>;
};
usb3-0 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "disabled";
};
usb3-3 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "disabled";
};
usb3-1 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "okay";
phandle = <0xfc>;
};
};
};
usb2 {
clock-names = "trk";
clocks = <0x03 0xa5>;
lanes {
usb2-2 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "okay";
phandle = <0xff>;
};
usb2-0 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "okay";
phandle = <0xfb>;
};
usb2-3 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "disabled";
};
usb2-1 {
nvidia,function = "xusb";
#phy-cells = <0x00>;
status = "okay";
phandle = <0xfe>;
};
};
};
};
};
when i connect a camera to USB3-2 it detects the video device and speed as usb3 but the stream is corrupted can’t get frames from the camera, uvc video shows error code -71 although it works on the devkit on USB3-0, so is there something missing in DTB configuration that makes it different? (camera is externally powered)
