The USB_PWR signal operation is not reliable on this DWC3 controller
instance in case the signal is active high. Switch to GPIO control,
which always behaves correctly. Perform the change in u-boot extras
until this hits Linux upstream.

Signed-off-by: Marek Vasut <ma...@denx.de>
---
Cc: Fabio Estevam <feste...@gmail.com>
Cc: Peng Fan <peng....@nxp.com>
Cc: Stefano Babic <sba...@denx.de>
---
 .../dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi | 30 +++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/arch/arm/dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi 
b/arch/arm/dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi
index dd0f34f3447..eafe9b9308c 100644
--- a/arch/arm/dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi
+++ b/arch/arm/dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi
@@ -4,6 +4,7 @@
  */
 
 #include "imx8mp-u-boot.dtsi"
+#include "imx8mp-pinfunc.h"
 
 / {
        aliases {
@@ -17,6 +18,17 @@
                dmo,ram-coding-gpios = <&gpio3 20 0>, <&gpio4 3 0>, <&gpio4 1 
0>;
        };
 
+       reg_usb1_vbus: regulator-usb1-vbus {
+               compatible = "regulator-fixed";
+               enable-active-high;
+               gpio = <&gpio1 12 GPIO_ACTIVE_HIGH>;
+               pinctrl-names = "default";
+               pinctrl-0 = <&pinctrl_usb1_vbus>;
+               regulator-max-microvolt = <5000000>;
+               regulator-min-microvolt = <5000000>;
+               regulator-name = "USB1_PWR";
+       };
+
        wdt-reboot {
                compatible = "wdt-reboot";
                wdt = <&wdog1>;
@@ -113,6 +125,10 @@
        bootph-pre-ram;
 };
 
+&usb3_phy0 {
+       vbus-supply = <&reg_usb1_vbus>;
+};
+
 &usdhc2 {
        bootph-pre-ram;
        sd-uhs-sdr104;
@@ -128,3 +144,17 @@
 &wdog1 {
        bootph-pre-ram;
 };
+
+&iomuxc {
+       usb1-grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO13__USB1_OTG_OC            0x80
+               >;
+       };
+
+       pinctrl_usb1_vbus: usb1-vbus-grp {
+               fsl,pins = <
+                       MX8MP_IOMUXC_GPIO1_IO12__GPIO1_IO12             0x6
+               >;
+       };
+};
-- 
2.40.1

Reply via email to