diff mbox series

ARM: imx6: DHCOM i.MX6 PDK: Fix usb-otg VBUS regulator

Message ID 20200416085219.60921-1-hws@denx.de
State Accepted
Commit 2c8627110e0c3eace3c5daab4e437dd989f3cf49
Headers show
Series ARM: imx6: DHCOM i.MX6 PDK: Fix usb-otg VBUS regulator | expand

Commit Message

Harald Seiler April 16, 2020, 8:52 a.m. UTC
During the conversion of this board to DM_REGULATOR, usb-mass-storage
was broken and started failing with the following error:

        => ums 0 mmc 2
        UMS: LUN 0, dev 2, hwpart 0, sector 0x0, count 0xe90000
        Error enabling VBUS supply
        g_dnl_register: failed!, error: -38
        g_dnl_register failed

Fix this by adding the relevant GPIO to the regulator node.

Fixes: 4ca99fe81aea ("ARM: imx: dh-imx6: Enable DM regulator")
Signed-off-by: Harald Seiler <hws at denx.de>
---

Notes:
    This patch currently depends on "ARM: imx6: DHCOM i.MX6 PDK: Convert to
    DM_ETH" although this could be changed.
    
    This is a working fix but I am not 100% sure if it is the correct thing
    to do.  The device-tree contains a second regulator which already
    defines this exact GPIO:
    
    	reg_usb_h1_vbus: regulator-usb-h1-vbus {
    		compatible = "regulator-fixed";
    		regulator-name = "usb_h1_vbus";
    		regulator-min-microvolt = <5000000>;
    		regulator-max-microvolt = <5000000>;
    		gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
    		enable-active-high;
    	};
    
    Maybe &reg_usb_otg_vbus is superfluous and the two should be merged into
    a single regulator used for both &usbh1 and &usbotg?

 arch/arm/dts/imx6qdl-dhcom-pdk2-u-boot.dtsi | 2 ++
 arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi      | 9 +++++++++
 2 files changed, 11 insertions(+)
 create mode 100644 arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi

Comments

Stefano Babic April 19, 2020, 9:09 a.m. UTC | #1
> During the conversion of this board to DM_REGULATOR, usb-mass-storage
> was broken and started failing with the following error:
>         => ums 0 mmc 2
>         UMS: LUN 0, dev 2, hwpart 0, sector 0x0, count 0xe90000
>         Error enabling VBUS supply
>         g_dnl_register: failed!, error: -38
>         g_dnl_register failed
> Fix this by adding the relevant GPIO to the regulator node.
> Fixes: 4ca99fe81aea ("ARM: imx: dh-imx6: Enable DM regulator")
> Signed-off-by: Harald Seiler <hws at denx.de>
Applied to u-boot-imx, master, thanks !

Best regards,
Stefano Babic
diff mbox series

Patch

diff --git a/arch/arm/dts/imx6qdl-dhcom-pdk2-u-boot.dtsi b/arch/arm/dts/imx6qdl-dhcom-pdk2-u-boot.dtsi
index a54e421de3e4..32128d4d2ab4 100644
--- a/arch/arm/dts/imx6qdl-dhcom-pdk2-u-boot.dtsi
+++ b/arch/arm/dts/imx6qdl-dhcom-pdk2-u-boot.dtsi
@@ -3,6 +3,8 @@ 
  * Copyright (C) 2020 Harald Seiler <hws at denx.de>
  */
 
+#include "imx6qdl-dhcom-u-boot.dtsi"
+
 / {
 	fec_vio: regulator-fec {
 		compatible = "regulator-fixed";
diff --git a/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi b/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi
new file mode 100644
index 000000000000..4c3b5e82d61b
--- /dev/null
+++ b/arch/arm/dts/imx6qdl-dhcom-u-boot.dtsi
@@ -0,0 +1,9 @@ 
+// SPDX-License-Identifier: (GPL-2.0+)
+/*
+ * Copyright (C) 2020 Harald Seiler <hws at denx.de>
+ */
+
+&reg_usb_otg_vbus {
+	gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>;
+	enable-active-high;
+};