From: Marek Vasut Date: Sat, 15 Jul 2023 18:24:16 +0000 (+0200) Subject: ARM: dts: imx: Switch USB1 port control to GPIO on Data Modul i.MX8M Plus eDM SBC X-Git-Url: http://git.dujemihanovic.xyz/img/sics.gif?a=commitdiff_plain;h=6bd39dee633bcb13ddbafc31301a4ecfd6c2e7fa;p=u-boot.git ARM: dts: imx: Switch USB1 port control to GPIO on Data Modul i.MX8M Plus eDM SBC 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 --- 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 dd0f34f344..eafe9b9308 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 = <®_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 + >; + }; +};