From patchwork Thu Apr 16 08:52:19 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Harald Seiler X-Patchwork-Id: 237826 List-Id: U-Boot discussion From: hws at denx.de (Harald Seiler) Date: Thu, 16 Apr 2020 10:52:19 +0200 Subject: [PATCH] ARM: imx6: DHCOM i.MX6 PDK: Fix usb-otg VBUS regulator Message-ID: <20200416085219.60921-1-hws@denx.de> 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 --- 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 ®_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 */ +#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 + */ + +®_usb_otg_vbus { + gpio = <&gpio3 31 GPIO_ACTIVE_HIGH>; + enable-active-high; +};