Hi, nv team:
My device is Orin Devkit, [JetPack 5.1 SDK][ Jetson Linux 35.2.1]。
J40 is ok, both on host mode and device mode.
But J39 is not work on device mode。
(I modify the “ucsi_ccg@8”, “xusb_padctl@3520000”, “xudc@3550000”, “usb_cd” nodes in the tegra234-p3737-0000-a04.dtsi,tegra234-soc-base.dtsi )
root@ubuntu:/root# cat /proc/device-tree/chosen/ids
3701-0000-500 3737-0000-500
root@ubuntu:/root# i2cdump -y 0 0x50
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 02 00 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 ?.?.............
10: 00 00 00 0a 36 39 39 2d 31 33 37 30 31 2d 30 30 ...?699-13701-00
20: 30 30 2d 35 30 30 20 4c 2e 30 00 00 00 00 00 00 00-500 L.0......
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
40: 00 00 00 00 b4 98 a4 2d b0 48 31 34 32 33 35 32 ....???-?H142352
50: 32 30 32 31 37 33 35 00 00 00 00 00 00 00 00 00 2021735.........
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
90: 00 00 00 00 00 00 4e 56 43 42 00 00 4d 31 00 00 ......NVCB..M1..
a0: 00 00 00 00 00 00 00 00 00 00 00 00 b4 98 a4 2d ............???-
b0: b0 48 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 ?H?.............
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 25 ...............%
root@ubuntu:/root#
root@ubuntu:/root# i2cdump -y 0 0x56
No size specified (using byte-data access)
0 1 2 3 4 5 6 7 8 9 a b c d e f 0123456789abcdef
00: 02 00 fe 00 00 00 00 00 00 00 00 00 00 00 00 00 ?.?.............
10: 00 00 00 0a 36 39 39 2d 31 33 37 33 37 2d 30 30 ...?699-13737-00
20: 30 30 2d 35 30 30 20 44 2e 30 00 00 00 00 00 00 00-500 D.0......
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
40: 00 00 00 00 00 00 00 00 00 00 31 34 32 33 32 32 ..........142322
50: 32 30 34 39 39 30 32 00 00 00 00 00 00 00 00 00 2049902.........
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
90: 00 00 00 00 00 00 4e 56 43 42 00 00 4d 31 00 00 ......NVCB..M1..
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
c0: 00 00 00 00 00 00 00 00 36 37 35 2d 31 33 37 33 ........675-1373
d0: 30 2d 30 30 30 30 2d 30 30 31 00 00 00 31 34 32 0-0000-001...142
e0: 33 32 32 32 30 36 39 31 32 38 00 00 00 00 00 00 3222069128......
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 bf ...............?
just for test, I config J40 as host mode , J39 as otg mode:
--- ./Linux_for_Tegra/source/public/hardware/nvidia/platform/t23x/concord/kernel-dts/cvb/tegra234-p3737-0000-a04.dtsi 2023-01-22 10:52:03.000000000 +0800
+++ ./hardware/nvidia/platform/t23x/concord/kernel-dts/cvb/tegra234-p3737-0000-a04.dtsi 2023-02-18 11:35:15.764697252 +0800
@@ -118,18 +118,18 @@
ccg_typec_con0: connector@0 {
compatible = "usb-c-connector";
label = "USB-C";
- data-role = "host";
- };
- ccg_typec_con1: connector@1 {
- compatible = "usb-c-connector";
- label = "USB-C";
data-role = "dual";
port {
- ucsi_ccg_p1: endpoint {
+ ucsi_ccg_p0: endpoint {
remote-endpoint = <&usb_role_switch0>;
};
};
};
+ ccg_typec_con1: connector@1 {
+ compatible = "usb-c-connector";
+ label = "USB-C";
+ data-role = "host";
+ };
};
ncp_12v_pcie_supply: ncp81599@74 {
@@ -184,19 +184,19 @@
ports {
usb2-0 {
+ mode = "host";
+ status = "okay";
+ };
+ usb2-1 {
mode = "otg";
usb-role-switch;
status = "okay";
port {
usb_role_switch0: endpoint {
- remote-endpoint = <&ucsi_ccg_p1>;
+ remote-endpoint = <&ucsi_ccg_p0>;
};
};
};
- usb2-1 {
- mode = "host";
- status = "okay";
- };
usb2-2 {
mode = "host";
status = "okay";
@@ -222,9 +222,9 @@
tegra_xudc: xudc@3550000 {
status = "okay";
- phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
+ phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
- phy-names = "usb2-0", "usb3-1";
+ phy-names = "usb2-1", "usb3-1";
nvidia,xusb-padctl = <&xusb_padctl>;
nvidia,boost_cpu_freq = <1200>;
};
--- ./Linux_for_Tegra/source/public/hardware/nvidia/soc/t23x/kernel-dts/tegra234-soc/tegra234-soc-base.dtsi 2023-01-22 10:52:04.000000000 +0800
+++ ./hardware/nvidia/soc/t23x/kernel-dts/tegra234-soc/tegra234-soc-base.dtsi 2023-02-18 11:35:25.475340663 +0800
@@ -622,7 +622,7 @@
tegra_usb_cd: usb_cd {
compatible = "nvidia,tegra234-usb-cd";
nvidia,xusb-padctl = <&xusb_padctl>;
- phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
+ phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>;
phy-names = "otg-phy";
status = "okay";
};