HI, all:
We had designer carrier board 0n Jatson AGX Xavier and USB function does not working.
we use the usb0(the port for flash image) as host function and otg function. we not use typec ic.
Now, the otg function is ok , but the host function is not working.
The device tree as follows:
--- a/sources/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi
+++ b/sources/hardware/nvidia/platform/t19x/galen/kernel-dts/common/tegra194-p2888-0001-p2822-0000-common.dtsi
@@ -25,6 +25,10 @@
#include "tegra194-plugin-manager-p2822-0000.dtsi"
#include "tegra194-super-module-e2614-p2888-0000.dtsi"
+#define EXTCON_NONE 0
+#define EXTCON_USB 1
+#define EXTCON_USB_Host 2
+
/ {
nvidia,dtsfilename = __FILE__;
nvidia,dtbbuildtime = __DATE__, __TIME__;
@@ -96,7 +100,7 @@
status = "disabled";
};
ucsi_ccg: ucsi_ccg@8 {
- status = "okay";
+ status = "disabled";
typec-extcon {
typec_port0: port-0 {
status = "okay";
@@ -194,8 +198,28 @@
};
#endif
+ external-connection {
+ vbus_id_extcon: extcon@1 {
+ compatible = "extcon-gpio-states";
+ reg = <0x01>;
+ extcon-gpio,name = "VBUS";
+ extcon-gpio,wait-for-gpio-scan = <0>;
+ extcon-gpio,cable-states = <0x3 0x0
+ 0x0 0x2
+ 0x1 0x2
+ 0x2 0x1>;
+ gpios = <&tegra_main_gpio TEGRA194_MAIN_GPIO(M, 3) 0
+ &tegra_main_gpio TEGRA194_MAIN_GPIO(Q, 0) 0>;
+ extcon-gpio,out-cable-name-strings = "USB", "USB-Host";
+ extcon-gpio,out-cable-names = <EXTCON_USB EXTCON_USB_HOST EXTCON_NONE>;
+ wakeup-source;
+ #extcon-cells = <1>;
+ };
+ };
+
+
tegra_xudc: xudc@3550000 {
- extcon-cables = <&typec_port0 0>;
+ extcon-cables = <&vbus_id_extcon 0>;
extcon-cable-names = "vbus";
#extcon-cells = <1>;
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
@@ -209,7 +233,7 @@
};
tegra_xhci: xhci@3610000 {
- extcon-cables = <&typec_port0 1>;
+ extcon-cables = <&vbus_id_extcon 1>;
extcon-cable-names = "id";
#extcon-cells = <1>;
#if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
@@ -330,21 +354,21 @@
};
&head0 {
- extcon-cables = <&typec_port0 2 &typec_port1 2>;
+ /*extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
- #extcon-cells = <1>;
+ #extcon-cells = <1>;*/
};
&head1 {
- extcon-cables = <&typec_port0 2 &typec_port1 2>;
+ /*extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
- #extcon-cells = <1>;
+ #extcon-cells = <1>;*/
};
&head2 {
- extcon-cables = <&typec_port0 2 &typec_port1 2>;
+ /*extcon-cables = <&typec_port0 2 &typec_port1 2>;
extcon-cable-names = "typec0", "typec1";
- #extcon-cells = <1>;
+ #extcon-cells = <1>;*/
};
when we insert the hid device keyboard, the kernel log as follows:
nvidia@nvidia-desktop:~$ sudo dmesg -C
[sudo] password for nvidia:
nvidia@nvidia-desktop:~$ dmesg
[ 647.754911] tegra-xudc-new 3550000.xudc: ep 3 disabled
[ 647.755031] tegra-xudc-new 3550000.xudc: ep 2 disabled
[ 647.755060] tegra-xudc-new 3550000.xudc: ep 5 disabled
[ 647.755106] tegra-xudc-new 3550000.xudc: ep 4 disabled
[ 647.755132] tegra-xudc-new 3550000.xudc: ep 7 disabled
[ 647.755252] tegra-xudc-new 3550000.xudc: ep 9 disabled
[ 647.755350] tegra-xudc-new 3550000.xudc: ep 13 disabled
[ 647.755392] tegra-xudc-new 3550000.xudc: ep 8 disabled
[ 647.755424] tegra-xudc-new 3550000.xudc: ep 15 disabled
[ 647.756129] android_work: sent uevent USB_STATE=DISCONNECTED
[ 647.756389] tegra-xudc-new 3550000.xudc: ep 11 disabled
[ 647.756415] tegra-xudc-new 3550000.xudc: ep 6 disabled
[ 647.758467] l4tbr0: port 1(rndis0) entered disabled state
[ 647.759980] l4tbr0: port 2(usb0) entered disabled state
[ 647.763976] extcon-gpio-states external-connection:extcon@1: Cable state:1, cable id:2
[ 647.764093] tegra-xudc-new 3550000.xudc: vbus state: 0
[ 647.764107] tegra-xudc-new 3550000.xudc: device mode off: 0
[ 647.764844] tegra-xusb 3610000.xhci: exiting ELPG
[ 647.764873] android_work: did not send uevent (0 0 (null))
[ 647.765201] tegra-xudc-new 3550000.xudc: active: 1 => 0
[ 647.765209] tegra-xudc-new 3550000.xudc: entering ELPG
[ 647.766268] tegra-xudc-new 3550000.xudc: entering ELPG done
[ 647.770072] tegra-xusb 3610000.xhci: Firmware timestamp: 2018-03-29 14:24:42 UTC, Version: 60.05 release
[ 647.772505] tegra-xusb 3610000.xhci: exiting ELPG done
[ 650.411310] tegra-xusb 3610000.xhci: entering ELPG
[ 650.420076] tegra-xusb 3610000.xhci: entering ELPG done
nvidia@nvidia-desktop:~$
nvidia@nvidia-desktop:~$ lsusb
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 002: ID 0451:8027 Texas Instruments, Inc.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
nvidia@nvidia-desktop:~$
Thank you very much.