Hi, we are having issues getting our USB ports to function on our custom carrier board. A lot of the information available on this forum seems to be for previous L4T releases, and we are not having much luck getting it to work.
So our USB lanes are configured as in the below table. We are not using PCIe at all. We have put on power regulators with enable pins attached to pins A17, A18 and A19.
. PEX_RFU PEX2 USB_SS1 PEX0 USB_SS0
. USB1 USB2 USB0
TX D42:43 D39:40 C43:44
RX G42:43 G39:40 F43:44
D A38:39 (utmi-2) B39:40 (utmi-0) B42:43
I have set ODMDATA to 0x7090000.
I tried to follow the instructions here https://devtalk.nvidia.com/default/topic/1007448/jetson-tx2/differences-between-tx2-module-revisions/post/5144986/#5144986 but these cfg files seem to have changed somewhat since the last release, so Iâm not sure what needs to be done to the cfg files at this stage.
I made changes to the tegra186-quill-p3310-1000-a00-00-base.dts file based on the configuration that seemed to work here.
https://devtalk.nvidia.com/default/topic/1007448/jetson-tx2/differences-between-tx2-module-revisions/post/5230709/#5230709
Specifically it now looks like this
xhci@3530000 {
status = "okay";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>,
<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(2)>;
phy-names = "utmi-0", "utmi-1", "usb3-0", "usb3-1", "usb3-2";
nvidia,boost_cpu_freq = <800>;
};
pinctrl@3520000 {
status = "okay";
pinctrl-0 = <&tegra_xusb_padctl_pinmux_default>;
pinctrl-1 = <&vbus_en0_sfio_tristate_state>;
pinctrl-2 = <&vbus_en1_sfio_tristate_state>;
pinctrl-3 = <&vbus_en0_sfio_passthrough_state>;
pinctrl-4 = <&vbus_en1_sfio_passthrough_state>;
pinctrl-5 = <&vbus_en0_default_state>;
pinctrl-6 = <&vbus_en1_default_state>;
pinctrl-names = "default",
"vbus_en0_sfio_tristate", "vbus_en1_sfio_tristate",
"vbus_en0_sfio_passthrough", "vbus_en1_sfio_passthrough",
"vbus_en0_default", "vbus_en1_default";
tegra_xusb_padctl_pinmux_default: pinmux {
/* Quill does not support usb3-micro AB */
usb2-port0 {
nvidia,lanes = "otg-0";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <0>;
};
usb2-port1 {
nvidia,lanes = "otg-1";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
// usb2-std-A-port2 {
// nvidia,lanes = "otg-1";
// nvidia,function = "xusb";
// nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
// nvidia,oc-pin = <1>;
// };
usb3-port0 {
nvidia,lanes = "usb3-0";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
usb3-port1 {
nvidia,lanes = "usb3-1";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
usb3-port2 {
nvidia,lanes = "usb3-2";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
};
};
pcie-controller@10003000 {
status = "okay";
pci@1,0 {
nvidia,num-lanes = <2>;
status = "disabled";
};
pci@2,0 {
nvidia,num-lanes = <1>;
status = "disabled";
};
pci@3,0 {
nvidia,num-lanes = <1>;
status = "disabled";
};
};
Itâs all built using the instructions here https://devtalk.nvidia.com/default/topic/1025464/jetson-tx2/what-are-the-minimum-lines-of-commands-to-update-device-tree-from-a-host-for-tx2-/post/5228121/#5228121, and then flashed with sudo ./flash.sh -k kernel-dtb jetson-tx2 mmcblk0p1.
The end result of all of this is that none of the USB ports work at all. We do have the Ethernet port functioning if thatâs at all relevant.
The result of dmesg | grep usb is
[ 0.142815] node /plugin-manager/fragment-500-xusb-config match with board >=3310-1000-500
[ 0.142904] Overlay node /plugin-manager/fragment-500-xusb-config/override@1/_overlay_/e3325-usb3-std-A-HS not found in target node /pinctrl@3520000/pinmux
[ 0.301034] usbcore: registered new interface driver usbfs
[ 0.301099] usbcore: registered new interface driver hub
[ 0.301205] usbcore: registered new device driver usb
[ 0.367623] vdd-usb0-5v: 5000 mV
[ 0.367808] vdd-usb1-5v: 5000 mV
[ 2.651553] usbcore: registered new interface driver r8152
[ 2.651591] usbcore: registered new interface driver asix
[ 2.651616] usbcore: registered new interface driver ax88179_178a
[ 2.651641] usbcore: registered new interface driver cdc_ether
[ 2.651675] usbcore: registered new interface driver smsc95xx
[ 2.651701] usbcore: registered new interface driver net1080
[ 2.651729] usbcore: registered new interface driver cdc_subset
[ 2.651754] usbcore: registered new interface driver zaurus
[ 2.651800] usbcore: registered new interface driver cdc_ncm
[ 2.652154] tegra-xotg xotg: usb2 phy is not available yet
[ 2.652887] usbcore: registered new interface driver usb-storage
[ 2.652954] usbcore: registered new interface driver usbserial
[ 2.652978] usbcore: registered new interface driver ftdi_sio
[ 2.652997] usbserial: USB Serial support registered for FTDI USB Serial Device
[ 2.653021] usbcore: registered new interface driver option
[ 2.653038] usbserial: USB Serial support registered for GSM modem (1-port)
[ 2.653064] usbcore: registered new interface driver pl2303
[ 2.653081] usbserial: USB Serial support registered for pl2303
[ 2.653270] tegra-usb-cd usb_cd: otg phy is not available yet
[ 2.655966] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 2.783652] usbcore: registered new interface driver gspca_zc3xx
[ 2.789493] usbcore: registered new interface driver usbhid
[ 2.789494] usbhid: USB HID core driver
[ 4.908631] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 4.962035] tegra-xotg xotg: usb2 phy is not available yet
[ 4.968411] tegra-usb-cd usb_cd: otg phy is not available yet
[ 4.975010] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 5.043576] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 5.098522] tegra-xotg xotg: usb2 phy is not available yet
[ 5.104538] tegra-usb-cd usb_cd: otg phy is not available yet
[ 5.120536] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 5.144644] vdd-usb0-5v: disabling
[ 5.144645] vdd-usb1-5v: disabling
[ 5.253437] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 5.283204] tegra-xotg xotg: usb2 phy is not available yet
[ 5.289149] tegra-usb-cd usb_cd: otg phy is not available yet
[ 5.295716] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 6.055846] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 6.056363] tegra-xotg xotg: usb2 phy is not available yet
[ 6.056534] tegra-usb-cd usb_cd: otg phy is not available yet
[ 6.057056] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 6.927788] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 6.928186] tegra-xotg xotg: usb2 phy is not available yet
[ 6.928359] tegra-usb-cd usb_cd: otg phy is not available yet
[ 6.928800] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 6.944352] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 6.944890] tegra-xotg xotg: usb2 phy is not available yet
[ 6.945033] tegra-usb-cd usb_cd: otg phy is not available yet
[ 6.945471] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
[ 7.154568] xhci-tegra 3530000.xhci: can't get usb3-0 phy (-517)
[ 7.155027] tegra-xotg xotg: usb2 phy is not available yet
[ 7.155200] tegra-usb-cd usb_cd: otg phy is not available yet
[ 7.155733] tegra-xudc-new 3550000.xudc: usb2 phy is not available yet
Iâm not sure what to look at at this stage, so any advice would be greatly appreciated.