[PATCH 7/7] imx: ventana: fix USB hub reset

2021-10-07 Thread sbabic
> Remove board_ehci_hcd_init function that is not used with DM_USB
> and replace its functionality with device-tree configuraton that treats
> USB HUB RST# as a gpio enable for the usbh1 vbus regulator.
> Signed-off-by: Tim Harvey 
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic

-- 
=
DENX Software Engineering GmbH,  Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sba...@denx.de
=


[PATCH 7/7] imx: ventana: fix USB hub reset

2021-09-29 Thread Tim Harvey
Remove board_ehci_hcd_init function that is not used with DM_USB
and replace its functionality with device-tree configuraton that treats
USB HUB RST# as a gpio enable for the usbh1 vbus regulator.

Signed-off-by: Tim Harvey 
---
 arch/arm/dts/imx6qdl-gw53xx.dtsi| 11 +++-
 arch/arm/dts/imx6qdl-gw54xx.dtsi| 11 +++-
 arch/arm/dts/imx6qdl-gw552x.dtsi| 21 ++-
 arch/arm/dts/imx6qdl-gw560x.dtsi|  3 ++-
 arch/arm/dts/imx6qdl-gw5904.dtsi| 11 +++-
 arch/arm/dts/imx6qdl-gw5912.dtsi| 11 +++-
 board/gateworks/gw_ventana/gw_ventana.c | 35 -
 7 files changed, 62 insertions(+), 41 deletions(-)

diff --git a/arch/arm/dts/imx6qdl-gw53xx.dtsi b/arch/arm/dts/imx6qdl-gw53xx.dtsi
index 904b228306..77ac103c2d 100644
--- a/arch/arm/dts/imx6qdl-gw53xx.dtsi
+++ b/arch/arm/dts/imx6qdl-gw53xx.dtsi
@@ -137,7 +137,8 @@
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <500>;
regulator-max-microvolt = <500>;
-   regulator-always-on;
+   gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
};
 
reg_usb_otg_vbus: regulator-usb-otg-vbus {
@@ -550,6 +551,8 @@
 
 &usbh1 {
vbus-supply = <®_usb_h1_vbus>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_usbh1>;
status = "okay";
 };
 
@@ -720,6 +723,12 @@
>;
};
 
+   pinctrl_usbh1: usbh1grp {
+   fsl,pins = <
+   MX6QDL_PAD_GPIO_9__GPIO1_IO09   0x1b0b0
+   >;
+   };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID   0x17059
diff --git a/arch/arm/dts/imx6qdl-gw54xx.dtsi b/arch/arm/dts/imx6qdl-gw54xx.dtsi
index ffed4fb550..98c81e9c9b 100644
--- a/arch/arm/dts/imx6qdl-gw54xx.dtsi
+++ b/arch/arm/dts/imx6qdl-gw54xx.dtsi
@@ -146,7 +146,8 @@
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <500>;
regulator-max-microvolt = <500>;
-   regulator-always-on;
+   gpio = <&gpio1 16 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
};
 
reg_usb_otg_vbus: regulator@3 {
@@ -620,6 +621,8 @@
 
 &usbh1 {
vbus-supply = <®_usb_h1_vbus>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_usbh1>;
status = "okay";
 };
 
@@ -815,6 +818,12 @@
>;
};
 
+   pinctrl_usbh1: usbh1grp {
+   fsl,pins = <
+   MX6QDL_PAD_SD1_DAT0__GPIO1_IO16 0x1b0b0
+   >;
+   };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_GPIO_1__USB_OTG_ID   0x17059
diff --git a/arch/arm/dts/imx6qdl-gw552x.dtsi b/arch/arm/dts/imx6qdl-gw552x.dtsi
index f6742e5131..b853399aec 100644
--- a/arch/arm/dts/imx6qdl-gw552x.dtsi
+++ b/arch/arm/dts/imx6qdl-gw552x.dtsi
@@ -121,6 +121,15 @@
regulator-min-microvolt = <500>;
regulator-max-microvolt = <500>;
};
+
+   reg_usb_h1_vbus: regulator-usbh1-vbus {
+   compatible = "regulator-fixed";
+   regulator-name = "usb_h1_vbus";
+   regulator-min-microvolt = <500>;
+   regulator-max-microvolt = <500>;
+   gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
+   };
 };
 
 &gpmi {
@@ -390,9 +399,13 @@
 &uart5 {
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_uart5>;
-   status = "okay"; };
+   status = "okay";
+};
 
 &usbh1 {
+   vbus-supply = <®_usb_h1_vbus>;
+   pinctrl-names = "default";
+   pinctrl-0 = <&pinctrl_usbh1>;
status = "okay";
 };
 
@@ -507,6 +520,12 @@
>;
};
 
+   pinctrl_usbh1: usbh1grp {
+   fsl,pins = <
+   MX6QDL_PAD_GPIO_9__GPIO1_IO09   0x1b0b0
+   >;
+   };
+
pinctrl_usbotg: usbotggrp {
fsl,pins = <
MX6QDL_PAD_ENET_RX_ER__USB_OTG_ID   0x13059
diff --git a/arch/arm/dts/imx6qdl-gw560x.dtsi b/arch/arm/dts/imx6qdl-gw560x.dtsi
index 5da19756e0..1e95267c97 100644
--- a/arch/arm/dts/imx6qdl-gw560x.dtsi
+++ b/arch/arm/dts/imx6qdl-gw560x.dtsi
@@ -221,7 +221,8 @@
regulator-name = "usb_h1_vbus";
regulator-min-microvolt = <500>;
regulator-max-microvolt = <500>;
-   regulator-always-on;
+   gpio = <&gpio1 9 GPIO_ACTIVE_HIGH>;
+   enable-active-high;
};
 
reg_usb_otg_vbus: regulator-usb-otg-vbus {
diff --git a/arch/arm/dts/imx6qdl-gw5904.dtsi b/arch/arm/dts/imx6qdl-gw5904.dtsi
index b5ed2d83c1..286c7a9924 100644
--- a/arch/arm/dts/imx6qdl-gw590