Third USB on custom board not working with JetPack 4.2

Hi all,

I managed to get this working.

It seems like the new L4T sets the vbus-supply within the xusb_padctl@3520000 node as well as the power tree?

I’ve rolled my changes into the patch below

Index: hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts
<+>UTF-8
===================================================================
--- hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts	(date 1552067277000)
+++ hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-c03-00-base.dts	(date 1555438723000)
@@ -131,8 +131,9 @@
         xhci@3530000 {
 		phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(0)>;
-		phy-names = "utmi-0", "utmi-1", "usb3-0";
+		phy-names = "utmi-0", "utmi-1",  "utmi-2", "usb3-0";
 	};
 
 	pinctrl@3520000 {
Index: hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts
<+>UTF-8
===================================================================
--- hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts	(date 1552067277000)
+++ hardware/nvidia/platform/t18x/quill/kernel-dts/tegra186-quill-p3310-1000-a00-00-base.dts	(date 1555438771000)
@@ -120,22 +120,24 @@
 		status = "okay";
 		phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
 			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
+			<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
 			<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-1}>;
-		phy-names = "usb2-0", "usb2-1", "usb3-1";
+		phy-names = "usb2-0", "usb2-1",  "usb2-2", "usb3-1";
 	};
 #else
 	xhci@3530000 {
 		status = "okay";
 		phys = <&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(0)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(1)>,
+			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_UTMI_P(2)>,
 			<&tegra_xusb_padctl TEGRA_PADCTL_PHY_USB3_P(1)>;
-		phy-names = "utmi-0", "utmi-1", "usb3-1";
+		phy-names = "utmi-0", "utmi-1", "utmi-2", "usb3-1";
 		nvidia,boost_cpu_freq = <800>;
 	};
 #endif
 
 #if TEGRA_XUSB_PADCONTROL_VERSION >= DT_VERSION_2
-	xusb_padctl@3520000 {
+xusb_padctl@3520000	 {
 		status = "okay";
 		pinctrl-0 = <&vbus_en0_default_state>;
 		pinctrl-1 = <&vbus_en1_default_state>;
@@ -195,6 +197,12 @@
 				vbus-supply = <&vdd_usb1_5v>;
 				nvidia,oc-pin = <1>;
 			};
+			usb2-2 {
+				status = "okay";
+				mode = "host";
+				vbus-supply = <&battery_reg>;
+				nvidia,oc-pin = <1>;
+			};
 			usb3-1 {
 				nvidia,usb2-companion = <1>;
 				status = "okay";
@@ -239,7 +247,7 @@
 				nvidia,lanes = "otg-2";
 				nvidia,function = "xusb";
 				nvidia,port-cap = <TEGRA_PADCTL_PORT_HOST_ONLY>;
-				status = "disabled";
+				status = "okay";
 			};
 
 			e3325-usb3-std-A-SS {
Index: hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi
<+>UTF-8
===================================================================
--- hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi	(date 1552067056000)
+++ hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-plugin-manager/tegra186-quill-p3310-1000-a00-plugin-manager.dtsi	(date 1555438825000)
@@ -214,8 +214,9 @@
 				_overlay_ {
 					phys = <&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-0}>,
 						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-1}>,
+						<&{/xusb_padctl@3520000/pads/usb2/lanes/usb2-2}>,
 						<&{/xusb_padctl@3520000/pads/usb3/lanes/usb3-0}>;
-					phy-names = "usb2-0", "usb2-1", "usb3-0";
+					phy-names = "usb2-0", "usb2-1", "usb2-2", "usb3-0";
 				};
 #else
 				_overlay_ {
Index: hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3310-1000-a00-00.dtsi
<+>UTF-8
===================================================================
--- hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3310-1000-a00-00.dtsi	(date 1552067056000)
+++ hardware/nvidia/platform/t18x/common/kernel-dts/t18x-common-platforms/tegra186-quill-power-tree-p3310-1000-a00-00.dtsi	(date 1555419663000)
@@ -106,8 +106,8 @@
 	pinctrl@3520000 {
 		vbus-0-supply = <&vdd_usb0_5v>;
 		vbus-1-supply = <&vdd_usb1_5v>;
-		vbus-2-supply = <&vdd_usb2_5v>;
-		vbus-3-supply = <&battery_reg>;
+		vbus-2-supply = <&battery_reg>;
+		vbus-3-supply = <&vdd_usb2_5v>;
 		vddio-hsic-supply = <&battery_reg>;
 		avdd_usb-supply = <&spmic_sd3>;
 		vclamp_usb-supply = <&spmic_sd2>;