Hi DaneLLL,
So applying the changes (R32.1), i have the USB (USB_SS_1/USB2) (G42,G43,D42,D43,B42,B43) working at 480Mbps but not at 5Gbps. There’s no PCIe usage on our carrier board so I disabled it in the dts.
The USB_SS_0/USB1 works at 5Gbps for the same Samsung USB stick.
Please can you let me know if there are changes that need to be made, or, what signals/patterns to probe or look for? Appreciate your help.
DTS changes:
Power-tree:
--- a/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3489-1000-a00-00.dtsi
+++ b/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3489-1000-a00-00.dtsi
@@ -106,7 +106,7 @@
pinctrl@3520000 {
vbus-0-supply = <&vdd_usb0_5v>;
vbus-1-supply = <&vdd_usb1_5v>;
- vbus-2-supply = <&vdd_usb2_5v>;
+ vbus-2-supply = <&battery_reg>;
vbus-3-supply = <&battery_reg>;
vddio-hsic-supply = <&battery_reg>;
avdd_usb-supply = <&spmic_sd3>;
Mods for USB:
--- a/kernel-dts/tegra186-quill-p3489-1000-a00-00-base.dts
+++ b/kernel-dts/tegra186-quill-p3489-1000-a00-00-base.dts
@@ -72,7 +72,7 @@
};
usb_cd {
- status = "okay";
+ status = "disabled";
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>;
phy-names = "otg-phy";
nvidia,xusb-padctl = <&xusb_padctl>;
@@ -86,7 +86,7 @@
nvidia,boost-cpu-freq = <1200>;
};
usb_cd {
- status = "okay";
+ status = "disabled";
phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>;
phy-names = "otg-phy";
};
@@ -143,9 +143,9 @@
ports {
usb2-0 {
status = "okay";
- mode = "otg";
+ mode = "host";
vbus-supply = <&vdd_usb0_5v>;
- nvidia,oc-pin = <0>;
+ nvidia,oc-pin = <1>;
};
usb2-1 {
status = "okay";
@@ -153,10 +153,20 @@
vbus-supply = <&vdd_usb1_5v>;
nvidia,oc-pin = <1>;
};
+ usb2-2 {
+ status = "okay";
+ mode = "host";
+ vbus-supply = <&battery_reg>;
+ nvidia,oc-pin = <0>;
+ };
usb3-0 {
nvidia,usb2-companion = <1>;
status = "okay";
};
+ usb3-1 {
+ nvidia,usb2-companion = <2>;
+ status = "okay";
+ };
};
};
#endif
@@ -178,7 +188,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 {
@@ -192,12 +202,17 @@
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
nvidia,oc-pin = <1>;
};
-
+ usb3-std-A-port3 {
+ nvidia,lanes = "usb3-1";
+ nvidia,function = "xusb";
+ nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
+ status = "enabled";
+ };
e3325-usb3-std-A-HS {
nvidia,lanes = "otg-2";
nvidia,function = "xusb";
nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
- status = "disabled";
+ status = "enabled";
};
e3325-usb3-std-A-SS {
@@ -209,9 +224,9 @@
};
pcie-controller@10003000 {
- status = "okay";
+ status = "disabled";
pci@1,0 {
- nvidia,num-lanes = <4>;
+ nvidia,num-lanes = <1>;
nvidia,disable-clock-request;
status = "okay";
};
@@ -221,7 +236,7 @@
};
pci@3,0 {
nvidia,num-lanes = <1>;
- status = "okay";
+ status = "disabled";
};
};
@@ -375,8 +390,10 @@
xhci@3530000 {
phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
- <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>;
- phy-names = "usb2-0", "usb2-1", "usb3-0";
+ <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
+ <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>,
+ <&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
+ phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0", "usb3-1";
status = "okay";
};
the odm data looks like:
/linuxdev@linuxdev-desktop:~$ ls /proc/device-tree/chosen/plugin-manager/odm-data/
android-build enable-denver-wdt enable-xusb-on-uphy-lane2
disable-pmic-wdt enable-pcie-on-uphy-lane4 name
disable-sdmmc-hwcq enable-sata-on-uphy-lane5 no-battery
disable-tegra-wdt enable-xusb-on-uphy-lane0 normal-flashed
enable-debug-console enable-xusb-on-uphy-lane1