Hello.
We’ve designed our custom carrier board, which works with Orin NX CPU.
We used type C USB connector. But we don’t need it as OTG, so we configured it as a HOST.
As a result, USB2.0 part works perfectly, but when we connect USB3.0 flash drive, it also works as USB2.0 device.
Could you please take a look to our schematic and device tree? And advise possible mistake in schematic or device tree.
Thank you a lot.
Schematic:
USB3_schem.pdf (231.1 KB)
Device tree:
61 xusb_padctl: xusb_padctl@3520000 {
62 status = "okay";
63 pads {
64 usb2 {
65 lanes {
66 usb2-0 {
67 nvidia,function = "xusb";
68 status = "okay";
69 };
70 usb2-1 {
71 nvidia,function = "xusb";
72 status = "okay";
73 };
74 usb2-2 {
75 nvidia,function = "xusb";
76 status = "okay";
77 };
78 };
79 };
80 usb3 {
81 lanes {
82 usb3-0 {
83 nvidia,function = "xusb";
84 status = "okay";
85 };
86 usb3-1 {
87 nvidia,function = "xusb";
88 status = "okay";
89 };
90 };
91 };
92 };
93
94 ports {
95 usb2-0 {/* Goes to recovery port */
96 mode = "host";
97 status = "okay";
98 vbus-supply = <&p3768_vdd_5v_sys>;
99 };
100 usb2-1 {/* Goes to hub */
101 mode = "host";
102 vbus-supply = <&p3768_vdd_av10_hub>;
103 status = "okay";
104 };
105 usb2-2 {/* Goes to M2.E */
106 mode = "host";
107 vbus-supply = <&p3768_vdd_5v_sys>;
108 status = "okay";
109 };
110 usb3-0 {/* Goes to hub */
111 nvidia,usb2-companion = <1>;
112 status = "okay";
113 };
114 usb3-1 {/* Goes to J5 */
115 nvidia,usb2-companion = <0>;
116 status = "okay";
117 };
118 };
119 };
120
121 tegra_xudc: xudc@3550000 {
122 status = "disabled";
123 phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
124 <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
125 phy-names = "usb2-0", "usb3-1";
126 nvidia,xusb-padctl = <&xusb_padctl>;
127 };
128
129 tegra_xhci: xhci@3610000 {
130 status = "okay";
131 phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
132 <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
133 <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
134 <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
135 <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
136 phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
137 nvidia,xusb-padctl = <&xusb_padctl>;
138 };