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>;