We have a customize AGX Xavier carrier board and the usbs are not working.
The carrier board has no PD controller , no OTG and no Type C.
other usbs all ok, but one usb3.0port ( usb3-3( UPHY11 ) bind the usb2-3 ), install the usb2.0 device, dmesg error ; usb3.0 device installed OK
1 - dmesg as blow
dmesg | grep usb
[ 0.000000] Kernel command line: console=ttyTCU0,115200 video=tegrafb no_console_suspend=1 earlycon=tegra_comb_uart,mmio32,0x0c168000 gpt rootfs.slot_suffix= tegra_fbmem=0x800000@0xa06a0000 lut_mem=0x2008@0xa069b000 usbcore.old_scheme_first=1 tegraid=19.1.2.0.0 maxcpus=8 boot.slot_suffix= boot.ratchetvalues=0.4.2 vpr_resize sdhci_tegra.en_boot_part_access=1 quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyTCU0,115200n8 console=tty0 fbcon=map:0 net.ifnames=0 rootfstype=ext4
[ 0.923354] usbcore: registered new interface driver usbfs
[ 0.923411] usbcore: registered new interface driver hub
[ 0.923518] usbcore: registered new device driver usb
[ 0.989472] vdd-usb-3v3: at 3300 mV
[ 1.774720] usbcore: registered new interface driver r8152
[ 1.774758] usbcore: registered new interface driver asix
[ 1.774811] usbcore: registered new interface driver ax88179_178a
[ 1.774858] usbcore: registered new interface driver cdc_ether
[ 1.774886] usbcore: registered new interface driver net1080
[ 1.774911] usbcore: registered new interface driver cdc_subset
[ 1.774937] usbcore: registered new interface driver zaurus
[ 1.774974] usbcore: registered new interface driver cdc_ncm
[ 1.781597] tegra-xusb 3610000.xhci: No USB port has OTG_CAP
[ 1.785084] usbcore: registered new interface driver uas
[ 1.785138] usbcore: registered new interface driver usb-storage
[ 1.785198] usbcore: registered new interface driver usbserial
[ 1.786886] tegra-xusb 3610000.xhci: Firmware timestamp: 2019-07-24 05:47:34 UTC, Version: 60.06 release
[ 1.786942] tegra-xusb 3610000.xhci: xHCI Host Controller
[ 1.786961] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 1
[ 1.787681] tegra-xusb 3610000.xhci: hcc params 0x0184ff25 hci version 0x110 quirks 0x00050810
[ 1.787722] tegra-xusb 3610000.xhci: irq 473, io mem 0x03610000
[ 1.787922] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 1.787931] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.787938] usb usb1: Product: xHCI Host Controller
[ 1.787945] usb usb1: Manufacturer: Linux 4.9.201-tegra xhci-hcd
[ 1.787951] usb usb1: SerialNumber: 3610000.xhci
[ 1.788899] tegra-xusb 3610000.xhci: xHCI Host Controller
[ 1.788911] tegra-xusb 3610000.xhci: new USB bus registered, assigned bus number 2
[ 1.788921] tegra-xusb 3610000.xhci: Host supports USB 3.1 Enhanced SuperSpeed
[ 1.789116] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 1.789123] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 1.789129] usb usb2: Product: xHCI Host Controller
[ 1.789135] usb usb2: Manufacturer: Linux 4.9.201-tegra xhci-hcd
[ 1.789142] usb usb2: SerialNumber: 3610000.xhci
[ 1.790415] tegra-xusb 3610000.xhci: Upgrade port 0 to USB3.0
[ 1.790423] tegra-xusb 3610000.xhci: Upgrade port 1 to USB3.0
[ 1.792600] usbcore: registered new interface driver xpad
[ 1.892122] usb usb2: usb_suspend_both: status 0
[ 1.973343] usbcore: registered new interface driver usbhid
[ 1.973346] usbhid: USB HID core driver
[ 1.995883] usbcore: registered new interface driver snd-usb-audio
[ 2.115532] usb 1-3: new low-speed USB device number 2 using tegra-xusb
[ 2.116570] usb 1-3: Device not responding to setup address.
[ 2.324586] usb 1-3: Device not responding to setup address.
[ 2.531537] usb 1-3: device not accepting address 2, error -71
[ 2.651536] usb 1-3: new low-speed USB device number 3 using tegra-xusb
[ 2.652590] usb 1-3: Device not responding to setup address.
[ 2.860587] usb 1-3: Device not responding to setup address.
[ 3.067531] usb 1-3: device not accepting address 3, error -71
[ 3.067740] usb usb1-port3: attempt power cycle
[ 3.503532] usb 1-3: new low-speed USB device number 4 using tegra-xusb
[ 3.627661] usb 1-3: device descriptor read/64, error -71
[ 3.855654] usb 1-3: device descriptor read/64, error -71
[ 4.083564] usb 1-3: new low-speed USB device number 5 using tegra-xusb
[ 4.207680] usb 1-3: device descriptor read/64, error -71
[ 4.435668] usb 1-3: device descriptor read/64, error -71
[ 4.543607] usb usb1-port3: unable to enumerate USB device
[ 4.663555] usb 1-4: new high-speed USB device number 6 using tegra-xusb
[ 4.683846] usb 1-4: New USB device found, idVendor=0424, idProduct=2514
[ 4.683853] usb 1-4: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[ 4.831550] usb 1-4: usb_suspend_both: status 0
[ 4.831619] usb usb1: usb_suspend_both: status 0
[ 4.831632] tegra-xusb 3610000.xhci: entering ELPG
[ 4.838775] tegra-xusb 3610000.xhci: entering ELPG done
[ 5.935103] tegra-xusb 3610000.xhci: exiting ELPG
[ 5.939582] tegra-xusb 3610000.xhci: Firmware timestamp: 2019-07-24 05:47:34 UTC, Version: 60.06 release
[ 5.940692] tegra-xusb 3610000.xhci: exiting ELPG done
[ 6.059544] usb 1-3: new low-speed USB device number 7 using tegra-xusb
[ 6.060568] usb 1-3: Device not responding to setup address.
[ 6.268580] usb 1-3: Device not responding to setup address.
[ 6.475554] usb 1-3: device not accepting address 7, error -71
[ 6.595577] usb 1-3: new low-speed USB device number 8 using tegra-xusb
[ 6.596626] usb 1-3: Device not responding to setup address.
[ 6.804549] usb 1-3: Device not responding to setup address.
[ 7.011630] usb 1-3: device not accepting address 8, error -71
[ 7.013600] usb usb1-port3: attempt power cycle
[ 7.447591] usb 1-3: new low-speed USB device number 9 using tegra-xusb
[ 7.567724] usb 1-3: device descriptor read/64, error -71
[ 7.795664] usb 1-3: device descriptor read/64, error -71
[ 8.023591] usb 1-3: new low-speed USB device number 10 using tegra-xusb
[ 8.143685] usb 1-3: device descriptor read/64, error -71
[ 8.371725] usb 1-3: device descriptor read/64, error -71
[ 8.479644] usb usb1-port3: unable to enumerate USB device
[ 8.687582] usb 1-4.3: new high-speed USB device number 11 using tegra-xusb
[ 8.709179] usb 1-4.3: New USB device found, idVendor=2109, idProduct=2815
[ 8.709187] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 8.709195] usb 1-4.3: Product: USB2.0 Hub
[ 8.709198] usb 1-4.3: Manufacturer: VIA Labs, Inc.
[ 9.447582] usb 1-4.3.1: new low-speed USB device number 12 using tegra-xusb
[ 9.472155] usb 1-4.3.1: New USB device found, idVendor=413c, idProduct=301a
[ 9.472166] usb 1-4.3.1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9.472174] usb 1-4.3.1: Product: Dell MS116 USB Optical Mouse
[ 9.472180] usb 1-4.3.1: Manufacturer: PixArt
[ 9.479967] input: PixArt Dell MS116 USB Optical Mouse as /devices/3610000.xhci/usb1/1-4/1-4.3/1-4.3.1/1-4.3.1:1.0/0003:413C:301A.0001/input/input5
[ 9.480277] hid-generic 0003:413C:301A.0001: input,hidraw0: USB HID v1.11 Mouse [PixArt Dell MS116 USB Optical Mouse] on usb-3610000.xhci-4.3.1/input0
[ 9.611594] usb 1-4.3.4: new low-speed USB device number 13 using tegra-xusb
[ 9.656512] usb 1-4.3.4: New USB device found, idVendor=17ef, idProduct=608c
[ 9.656520] usb 1-4.3.4: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 9.656526] usb 1-4.3.4: Product: Lenovo Calliope USB Keyboard
[ 9.656529] usb 1-4.3.4: Manufacturer: Lenovo
[ 9.668597] input: Lenovo Lenovo Calliope USB Keyboard as /devices/3610000.xhci/usb1/1-4/1-4.3/1-4.3.4/1-4.3.4:1.0/0003:17EF:608C.0002/input/input6
[ 9.728167] hid-generic 0003:17EF:608C.0002: input,hidraw1: USB HID v1.11 Keyboard [Lenovo Lenovo Calliope USB Keyboard] on usb-3610000.xhci-4.3.4/input0
[ 9.751581] input: Lenovo Lenovo Calliope USB Keyboard as /devices/3610000.xhci/usb1/1-4/1-4.3/1-4.3.4/1-4.3.4:1.1/0003:17EF:608C.0003/input/input7
[ 9.812576] hid-generic 0003:17EF:608C.0003: input,hidraw2: USB HID v1.11 Device [Lenovo Lenovo Calliope USB Keyboard] on usb-3610000.xhci-4.3.4/input1
[ 31.107571] usb 1-3: new low-speed USB device number 14 using tegra-xusb
[ 31.108602] usb 1-3: Device not responding to setup address.
[ 31.316622] usb 1-3: Device not responding to setup address.
[ 31.523552] usb 1-3: device not accepting address 14, error -71
[ 31.643547] usb 1-3: new low-speed USB device number 15 using tegra-xusb
[ 31.644595] usb 1-3: Device not responding to setup address.
[ 31.852633] usb 1-3: Device not responding to setup address.
[ 32.059573] usb 1-3: device not accepting address 15, error -71
[ 32.059877] usb usb1-port3: attempt power cycle
[ 32.495558] usb 1-3: new low-speed USB device number 16 using tegra-xusb
[ 32.615676] usb 1-3: device descriptor read/64, error -71
[ 32.843689] usb 1-3: device descriptor read/64, error -71
[ 33.071601] usb 1-3: new low-speed USB device number 17 using tegra-xusb
[ 33.191686] usb 1-3: device descriptor read/64, error -71
[ 33.419701] usb 1-3: device descriptor read/64, error -71
[ 33.527668] usb usb1-port3: unable to enumerate USB device
[ 82.483623] usb 1-3: new low-speed USB device number 18 using tegra-xusb
[ 82.484689] usb 1-3: Device not responding to setup address.
[ 82.692700] usb 1-3: Device not responding to setup address.
[ 82.899583] usb 1-3: device not accepting address 18, error -71
[ 83.019558] usb 1-3: new low-speed USB device number 19 using tegra-xusb
[ 83.020598] usb 1-3: Device not responding to setup address.
[ 83.228584] usb 1-3: Device not responding to setup address.
[ 83.435563] usb 1-3: device not accepting address 19, error -71
[ 83.435837] usb usb1-port3: attempt power cycle
[ 83.871535] usb 1-3: new low-speed USB device number 20 using tegra-xusb
[ 83.991704] usb 1-3: device descriptor read/64, error -71
[ 84.219686] usb 1-3: device descriptor read/64, error -71
[ 84.447550] usb 1-3: new low-speed USB device number 21 using tegra-xusb
[ 84.567676] usb 1-3: device descriptor read/64, error -71
[ 84.795658] usb 1-3: device descriptor read/64, error -71
[ 84.903589] usb usb1-port3: unable to enumerate USB device
2 - tegra194-p2888-0001-p2822-0000-common.dtsi
hdr40_i2c0: i2c@c240000 {
bmi160@69 {
compatible = "bmi,bmi160";
reg = <0x69>;
interrupt-parent = <&tegra_aon_gpio>;
interrupts = <TEGRA194_AON_GPIO(AA, 2) GPIO_ACTIVE_LOW>;
accelerometer_matrix = [01 00 00 00 01 00 00 00 01];
gyroscope_matrix = [01 00 00 00 01 00 00 00 01];
accelerometer_delay_us_min = <1250>;
gyroscope_delay_us_min = <1250>;
status = "disabled";
};
ucsi_ccg: ucsi_ccg@8 {
status = "disabled";
typec-extcon {
typec_port0: port-0 {
status = "okay";
#extcon-cells = <1>;
};
typec_port1: port-1 {
status = "okay";
#extcon-cells = <1>;
};
};
typec-pd {
typec_pd: pd {
status = "okay";
#extcon-cells = <1>;
};
};
};
};
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
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";
};
usb2-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
usb3 {
lanes {
usb3-0 {
nvidia,function = "xusb";
status = "okay";
};
usb3-2 {
nvidia,function = "xusb";
status = "okay";
};
usb3-3 {
nvidia,function = "xusb";
status = "okay";
};
};
};
};
ports {
usb2-0 {
//mode = "otg";
mode = "host"; //zp change
status = "okay";
};
usb2-1 {
mode = "host";
status = "okay";
};
usb2-2 {
mode = "host";
status = "okay";
};
usb2-3 {
mode = "host";
status = "okay";
};
usb3-0 {
nvidia,usb2-companion = <1>;
status = "okay";
};
usb3-2 {
nvidia,usb2-companion = <0>;
status = "okay";
};
usb3-3 {
nvidia,usb2-companion = <3>;
status = "okay";
};
};
};
#endif
tegra_xudc: xudc@3550000 {
/*
extcon-cables = <&typec_port0 0>;
extcon-cable-names = "vbus";
#extcon-cells = <1>;
*/ //zp change
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
phy-names = "usb2", "usb3";
nvidia,xusb-padctl = <&xusb_padctl>;
#endif
nvidia,boost_cpu_freq = <1200>;
status = "okay";
};
tegra_xhci: xhci@3610000 {
/*
extcon-cables = <&typec_port0 1>;
extcon-cable-names = "id";
#extcon-cells = <1>;
*/ //zp change
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-3}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-3}>;
phy-names = "usb2-0", "usb2-1", "usb2-3", "usb2-2",
"usb3-2", "usb3-0", "usb3-3";
nvidia,xusb-padctl = <&xusb_padctl>;
#endif
status = "okay";
};
Thank you so much for your help