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

Harald Seiler hws at denx.de
Thu Apr 16 10:52:19 CEST 2020


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

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;
+};
-- 
2.26.1



More information about the U-Boot mailing list