hi We designed our own hardware board to enable three USB 3.0 interfaces. I changed the device tree according to the tutorial but failed
https://docs.nvidia.com/jetson/archives/r35.4.1/DeveloperGuide/text/HR/JetsonModuleAdaptationAndBringUp/JetsonAgxOrinSeries.html
The following is the device tree file I modified. Could you please help confirm the reason for the failure
device-tree.zip (3.8 KB)
this is my device-tree file
kernel_tegra234-p3767-0000-p3768-0000-a0.zip (52.8 KB)
dmesg.zip (21.1 KB)
You need to share you schematic and the exact problem you hit.
We don’t know your board. It is not possible to directly check log to know what is going wrong.
design1.pdf (2.2 MB)
this is my schematic,please see that
please point out which page and which port hit the issue.
What did you modify in device tree?
USB3.0 of USBSS2 on page 3 cannot be recognized
What did you modify in device tree?
yes,Because my board follows the official boards, USBSS0 and USBSS1, I have verified that USBSS1 is ok. but USBSS2 faild
我的意思是你改了什麼. 不是問你有沒有改…
I removed the EEPROM and used the DC-5V power supply directly. USB2.0 used USB2 and USBSS2, and USB2.0 used a HUB
So did you modify anything related to USB in your device tree or not?
If yes, what did you modify?
Are you able to understand my questions here or not? I have asked same question 3 times but didn’t gey your reply.
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 = <0>;
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-1}>;
phy-names = "usb2-0", "usb3-1";
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";
nvidia,xusb-padctl = <&xusb_padctl>;
};
You have 6 phys, why only 5 phy-names?
Sorry, I haven’t made all the necessary changes
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 = <0>;
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-1}>;
phy-names = "usb2-0", "usb3-1";
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>;
};
I added USB3-2, but I still cannot recognize USB3-2
Is it “only recognized in usb2.0 device” or it is totally not able to get detected?
only recognized in usb2.0 device
可以請你解釋一下你的線路圖到底要看哪幾頁嗎? 除了第三頁以外我們也需要看你connector那邊的配線… 但你的pdf看來不支援搜尋…
page3 + page13是嗎?