Hi nvidia,
I have a problem about usb on my custom board of tx2-4gb.
If I plug the usb-hub into usb2-0 port(typeA interface) after the system boot up, everthing comes good: mouse, keyboard and udisk connected to the hub are all works well.
But If I plug the usb-hub into usb2-0 port before the board power on, the hub can’t work, even if I pull it out, any usb device plugging in can’t work .
The above problem only occured when the hub is plugged in, but not when the mouse and keyboard are plugged in.
The normal and error logs are:
Normal(mousepluggen in before power on):
nvidia@tztek-desktop:~$ dmesg | grep usb
[ 0.000000] Kernel command line: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnam
[ 0.430542] usb_oc_init: usb_oc gpio init
[ 0.530626] usbcore: registered new interface driver usbfs
[ 0.530717] usbcore: registered new interface driver hub
[ 0.530855] usbcore: registered new device driver usb
[ 0.837674] vdd-usb0-5v: 5000 mV
[ 0.837968] vdd-usb1-5v: 5000 mV
[ 0.841382] vdd-usb2-5v: 5000 mV
[ 4.184015] usbcore: registered new interface driver r8152
[ 4.184595] usbcore: registered new interface driver asix
[ 4.185078] usbcore: registered new interface driver ax88179_178a
[ 4.185246] usbcore: registered new interface driver cdc_ether
[ 4.185348] usbcore: registered new interface driver net1080
[ 4.185423] usbcore: registered new interface driver cdc_subset
[ 4.185492] usbcore: registered new interface driver zaurus
[ 4.185689] usbcore: registered new interface driver cdc_ncm
[ 4.205161] tegra-xusb 3530000.xhci: No USB port has OTG_CAP
[ 4.207489] tegra-xusb 3530000.xhci: Direct firmware load for tegra18x_xusb_firmware failed with error -2
[ 4.207495] tegra-xusb 3530000.xhci: Falling back to user helper
[ 4.208069] usbcore: registered new interface driver uas
[ 4.208131] usbcore: registered new interface driver usb-storage
[ 4.208268] usbcore: registered new interface driver usbserial
[ 4.216427] usbcore: registered new interface driver xpad
[ 4.406077] usbcore: registered new interface driver usbhid
[ 4.406078] usbhid: USB HID core driver
[ 4.444419] usbcore: registered new interface driver snd-usb-audio
[ 4.735465] vdd-usb0-5v: disabling
[ 4.735467] vdd-usb1-5v: disabling
[ 4.735488] vdd-usb2-5v: disabling
[ 11.126219] tegra-xusb 3530000.xhci: cannot find firmware....retry after 1 second
[ 12.162317] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 12.164408] tegra-xusb 3530000.xhci: xHCI Host Controller
[ 12.164430] tegra-xusb 3530000.xhci: new USB bus registered, assigned bus number 1
[ 12.165262] tegra-xusb 3530000.xhci: hcc params 0x0184fd25 hci version 0x100 quirks 0x00050810
[ 12.165300] tegra-xusb 3530000.xhci: irq 69, io mem 0x03530000
[ 12.165437] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 12.165441] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.165444] usb usb1: Product: xHCI Host Controller
[ 12.165446] usb usb1: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[ 12.165449] usb usb1: SerialNumber: 3530000.xhci
[ 12.166247] tegra-xusb 3530000.xhci: xHCI Host Controller
[ 12.166254] tegra-xusb 3530000.xhci: new USB bus registered, assigned bus number 2
[ 12.166379] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 12.166382] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 12.166385] usb usb2: Product: xHCI Host Controller
[ 12.166387] usb usb2: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[ 12.166390] usb usb2: SerialNumber: 3530000.xhci
[ 12.368220] tegra-usb-cd usb_cd: notification status (0x0, 0x6)
[ 12.368222] tegra-usb-cd usb_cd: connected to DCP
[ 12.372358] usb usb1: usb_suspend_both: status 0
[ 13.724169] usb 1-1: new low-speed USB device number 2 using tegra-xusb
[ 13.749054] usb 1-1: New USB device found, idVendor=03f0, idProduct=134a
[ 13.749059] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 13.749063] usb 1-1: Product: HP USB Optical Mouse
[ 13.749067] usb 1-1: Manufacturer: PixArt
[ 13.751945] input: PixArt HP USB Optical Mouse as /devices/3530000.xhci/usb1/1-1/1-1:1.0/0003:03F0:134A.0001/input/input4
[ 13.752152] hid-generic 0003:03F0:134A.0001: input,hidraw0: USB HID v1.11 Mouse [PixArt HP USB Optical Mouse] on usb-3530000.xhci-1/input0
[ 15.284678] tegra-xusb 3530000.xhci: Upgrade port 0 to USB3.0
[ 15.284682] tegra-xusb 3530000.xhci: Upgrade port 1 to USB3.0
[ 15.388419] usb usb2: usb_suspend_both: status 0
[ 16.395365] usb0: HOST MAC ee:b5:38:41:d3:f2
[ 16.395388] usb0: MAC ee:b5:38:41:d3:f3
[ 16.423501] l4tbr0: port 2(usb0) entered blocking state
[ 16.423582] l4tbr0: port 2(usb0) entered disabled state
[ 16.423793] device usb0 entered promiscuous mode
[ 16.435335] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
Error(hub pluggen in before power on):
nvidia@tztek-desktop:~$ dmesg | grep usb
[ 0.000000] Kernel command line: root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 console=ttyS0,115200n8 console=tty0 fbcon=map:0 net.ifnam
[ 0.430552] usb_oc_init: usb_oc gpio init
[ 0.530368] usbcore: registered new interface driver usbfs
[ 0.530456] usbcore: registered new interface driver hub
[ 0.530584] usbcore: registered new device driver usb
[ 0.837284] vdd-usb0-5v: 5000 mV
[ 0.837587] vdd-usb1-5v: 5000 mV
[ 0.840578] vdd-usb2-5v: 5000 mV
[ 4.052765] usbcore: registered new interface driver r8152
[ 4.052845] usbcore: registered new interface driver asix
[ 4.052925] usbcore: registered new interface driver ax88179_178a
[ 4.053002] usbcore: registered new interface driver cdc_ether
[ 4.053080] usbcore: registered new interface driver net1080
[ 4.053158] usbcore: registered new interface driver cdc_subset
[ 4.053235] usbcore: registered new interface driver zaurus
[ 4.053321] usbcore: registered new interface driver cdc_ncm
[ 4.061750] tegra-xusb 3530000.xhci: No USB port has OTG_CAP
[ 4.063715] tegra-xusb 3530000.xhci: Direct firmware load for tegra18x_xusb_firmware failed with error -2
[ 4.063721] tegra-xusb 3530000.xhci: Falling back to user helper
[ 4.064297] usbcore: registered new interface driver uas
[ 4.064390] usbcore: registered new interface driver usb-storage
[ 4.064559] usbcore: registered new interface driver usbserial
[ 4.071927] usbcore: registered new interface driver xpad
[ 4.985678] usbcore: registered new interface driver usbhid
[ 4.991314] usbhid: USB HID core driver
[ 5.106763] usbcore: registered new interface driver snd-usb-audio
[ 5.360993] vdd-usb0-5v: disabling
[ 5.360995] vdd-usb1-5v: disabling
[ 5.361016] vdd-usb2-5v: disabling
[ 10.873121] tegra-xusb 3530000.xhci: cannot find firmware....retry after 1 second
[ 11.904282] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 11.906419] tegra-xusb 3530000.xhci: xHCI Host Controller
[ 11.906447] tegra-xusb 3530000.xhci: new USB bus registered, assigned bus number 1
[ 11.907289] tegra-xusb 3530000.xhci: hcc params 0x0184fd25 hci version 0x100 quirks 0x00050810
[ 11.907330] tegra-xusb 3530000.xhci: irq 69, io mem 0x03530000
[ 11.907481] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
[ 11.907485] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 11.907488] usb usb1: Product: xHCI Host Controller
[ 11.907491] usb usb1: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[ 11.907493] usb usb1: SerialNumber: 3530000.xhci
[ 11.908244] tegra-xusb 3530000.xhci: xHCI Host Controller
[ 11.908252] tegra-xusb 3530000.xhci: new USB bus registered, assigned bus number 2
[ 11.908369] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003
[ 11.908372] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[ 11.908375] usb usb2: Product: xHCI Host Controller
[ 11.908377] usb usb2: Manufacturer: Linux 4.9.140-tegra xhci-hcd
[ 11.908380] usb usb2: SerialNumber: 3530000.xhci
[ 12.174218] tegra-usb-cd usb_cd: notification status (0x0, 0x1)
[ 12.174221] tegra-usb-cd usb_cd: connected to SDP
[ 12.234109] usb 1-1: new full-speed USB device number 2 using tegra-xusb
[ 12.234615] usb 1-1: Device not responding to setup address.
[ 12.442516] usb 1-1: Device not responding to setup address.
[ 12.650064] usb 1-1: device not accepting address 2, error -71
[ 12.770083] usb 1-1: new full-speed USB device number 3 using tegra-xusb
[ 12.770565] usb 1-1: Device not responding to setup address.
[ 12.978555] usb 1-1: Device not responding to setup address.
[ 13.186061] usb 1-1: device not accepting address 3, error -71
[ 13.186155] usb usb1-port1: attempt power cycle
[ 15.026512] tegra-xusb 3530000.xhci: Upgrade port 0 to USB3.0
[ 15.026516] tegra-xusb 3530000.xhci: Upgrade port 1 to USB3.0
[ 15.130279] usb usb2: usb_suspend_both: status 0
[ 15.286330] usb usb1: usb_suspend_both: status 0
[ 16.991310] usb0: HOST MAC ee:b5:38:41:d3:f2
[ 16.991948] usb0: MAC ee:b5:38:41:d3:f3
[ 17.017636] l4tbr0: port 2(usb0) entered blocking state
[ 17.017640] l4tbr0: port 2(usb0) entered disabled state
[ 17.017795] device usb0 entered promiscuous mode
[ 17.023301] IPv6: ADDRCONF(NETDEV_UP): usb0: link is not ready
[ 17.034096] tegra-xusb 3530000.xhci: entering ELPG
[ 17.037380] tegra-xusb 3530000.xhci: entering ELPG done
[ 19.002252] tegra-usb-cd usb_cd: notification status (0x1, 0xa)
[ 19.002259] tegra-usb-cd usb_cd: connected to non-standard charger
Plug out and Plug in again(after the error occurs)
[ 29.670957] tegra-xusb 3530000.xhci: exiting ELPG
[ 29.674825] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 29.675916] tegra-xusb 3530000.xhci: exiting ELPG done
[ 32.085597] tegra-xusb 3530000.xhci: entering ELPG
[ 32.089248] tegra-xusb 3530000.xhci: entering ELPG done
[ 34.193937] tegra-xusb 3530000.xhci: exiting ELPG
[ 34.197638] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 34.198768] tegra-xusb 3530000.xhci: exiting ELPG done
[ 36.949597] tegra-xusb 3530000.xhci: entering ELPG
[ 36.953207] tegra-xusb 3530000.xhci: entering ELPG done
[ 302.342925] tegra-xusb 3530000.xhci: exiting ELPG
[ 302.348552] tegra-xusb 3530000.xhci: Firmware timestamp: 2018-12-26 10:30:04 UTC, Version: 55.12 release
[ 302.349946] tegra-xusb 3530000.xhci: exiting ELPG done
[ 304.981631] tegra-xusb 3530000.xhci: entering ELPG
[ 304.986603] tegra-xusb 3530000.xhci: entering ELPG done
I enable the usb2-0/2-1/3-2 in devicetree:
diff --git a/sources/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi b/sources/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi
index d745d00ac..e3e195275 100644
--- a/sources/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi
+++ b/sources/hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi
@@ -89,8 +89,9 @@
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
_overlay_ {
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
- <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>;
- phy-names = "usb2-0", "usb2-1";
+ <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
+ <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-2}>;
+ phy-names = "usb2-0", "usb2-1", "usb3-2";
};
#else
_overlay_ {
@@ -100,24 +101,24 @@
};
#endif
};
- override@1 {
- target = <&tegra_xusb_padctl_pinmux_default>;
-#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
- _overlay_ {
- ports {
- usb3-0 {
- status = "disabled";
- };
- };
- };
-#else
- _overlay_ {
- usb3-std-A-port2 {
- status = "disabled";
- };
- };
-#endif
- };
+// override@1 {
+// target = <&tegra_xusb_padctl_pinmux_default>;
+//#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
+// _overlay_ {
+// ports {
+// usb3-0 {
+// status = "disabled";
+// };
+// };
+// };
+//#else
+// _overlay_ {
+// usb3-std-A-port2 {
+// status = "disabled";
+// };
+// };
+//#endif
+// };
override@2 {
target = <&tegra_main_gpio>;
diff --git a/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a00-00-base.dts b/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a00-00-base.dts
index 0bf1d1cb0..6601a87dd 100644
--- a/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a00-00-base.dts
+++ b/sources/hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3489-0888-a00-00-base.dts
@@ -153,7 +153,7 @@
ports {
usb2-0 {
status = "okay";
- mode = "otg";
+ mode = "host";
vbus-supply = <&vdd_usb0_5v>;
nvidia,oc-pin = <0>;
};
@@ -167,7 +167,7 @@
status = "okay";
mode = "host";
vbus-supply = <&battery_reg>;
- nvidia,oc-pin = <1>;
+ nvidia,oc-pin = <2>;
};
usb3-0 {
@@ -203,7 +203,7 @@
usb2-micro-AB {
nvidia,lanes = "otg-0";
nvidia,function = "xusb";
- nvidia,port-cap = <TEGRA_PADCTL_PORT_OTG_CAP>;
+ nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <0>;
};
usb2-std-A-port2 {
And the oc-pins of the usb are pull up after my custom board power on.
Because there is only one usb-interface on the board, I can’t avoid the problem about usb-hub.
Thanks.