]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
ARM: dts: imx: Switch USB1 port control to GPIO on Data Modul i.MX8M Plus eDM SBC
authorMarek Vasut <marex@denx.de>
Sat, 15 Jul 2023 18:24:16 +0000 (20:24 +0200)
committerStefano Babic <sbabic@denx.de>
Mon, 16 Oct 2023 12:02:38 +0000 (14:02 +0200)
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 <marex@denx.de>
arch/arm/dts/imx8mp-data-modul-edm-sbc-u-boot.dtsi

index dd0f34f344736033594e041f953e071da75a3b26..eafe9b9308c42f80d0ed61ff8238374e0a793434 100644 (file)
@@ -4,6 +4,7 @@
  */
 
 #include "imx8mp-u-boot.dtsi"
+#include "imx8mp-pinfunc.h"
 
 / {
        aliases {
                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>;
        bootph-pre-ram;
 };
 
+&usb3_phy0 {
+       vbus-supply = <&reg_usb1_vbus>;
+};
+
 &usdhc2 {
        bootph-pre-ram;
        sd-uhs-sdr104;
 &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
+               >;
+       };
+};