From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andre Przywara Date: Fri, 2 Mar 2018 00:56:53 +0000 Subject: [U-Boot] [PATCH v3 14/20] sunxi: dts: A64 boards: Use fixed regulator for mmc0 In-Reply-To: <20180302005659.28728-1-andre.przywara@arm.com> References: <20180302005659.28728-1-andre.przywara@arm.com> Message-ID: <20180302005659.28728-15-andre.przywara@arm.com> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Linux kernels before 4.12-rc1 don't know about the AXP803 PMIC, so can't enable the MMC driver with the current DT anymore, because that now depends on a driver for this regulator. To restore compatiblity with older kernels (where MMC worked fine without explicit AXP support), restore the former fixed-regulator. This is no technical disadvantage, as the MMC power rail is actually VDD-SYS, which drives most of the rest of the board, so can't be turned off anyway. To underline this, this DCDC1 rail is marked as "regulator-always-on" in the DT. This affects the BananaPi-M64, NanoPi-A64, Olinuxo-A64. Signed-off-by: Andre Przywara --- arch/arm/dts/sun50i-a64-bananapi-m64.dts | 11 +++++++++-- arch/arm/dts/sun50i-a64-nanopi-a64.dts | 9 ++++++++- arch/arm/dts/sun50i-a64-olinuxino.dts | 9 ++++++++- 3 files changed, 25 insertions(+), 4 deletions(-) diff --git a/arch/arm/dts/sun50i-a64-bananapi-m64.dts b/arch/arm/dts/sun50i-a64-bananapi-m64.dts index 4a8d3f83a3..e84855d633 100644 --- a/arch/arm/dts/sun50i-a64-bananapi-m64.dts +++ b/arch/arm/dts/sun50i-a64-bananapi-m64.dts @@ -60,6 +60,13 @@ stdout-path = "serial0:115200n8"; }; + reg_vcc3v3: vcc3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; + wifi_pwrseq: wifi_pwrseq { compatible = "mmc-pwrseq-simple"; reset-gpios = <&r_pio 0 2 GPIO_ACTIVE_LOW>; /* PL2 */ @@ -99,7 +106,7 @@ &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; - vmmc-supply = <®_dcdc1>; + vmmc-supply = <®_vcc3v3>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-inverted; disable-wp; @@ -129,7 +136,7 @@ &mmc2 { pinctrl-names = "default"; pinctrl-0 = <&mmc2_pins>; - vmmc-supply = <®_dcdc1>; + vmmc-supply = <®_vcc3v3>; bus-width = <8>; non-removable; cap-mmc-hw-reset; diff --git a/arch/arm/dts/sun50i-a64-nanopi-a64.dts b/arch/arm/dts/sun50i-a64-nanopi-a64.dts index 2beef9e6cb..6dedbfe609 100644 --- a/arch/arm/dts/sun50i-a64-nanopi-a64.dts +++ b/arch/arm/dts/sun50i-a64-nanopi-a64.dts @@ -57,6 +57,13 @@ chosen { stdout-path = "serial0:115200n8"; }; + + reg_vcc3v3: vcc3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; }; &ehci0 { @@ -81,7 +88,7 @@ &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; - vmmc-supply = <®_dcdc1>; + vmmc-supply = <®_vcc3v3>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-inverted; disable-wp; diff --git a/arch/arm/dts/sun50i-a64-olinuxino.dts b/arch/arm/dts/sun50i-a64-olinuxino.dts index 338e786155..c88ec4e281 100644 --- a/arch/arm/dts/sun50i-a64-olinuxino.dts +++ b/arch/arm/dts/sun50i-a64-olinuxino.dts @@ -57,12 +57,19 @@ chosen { stdout-path = "serial0:115200n8"; }; + + reg_vcc3v3: vcc3v3 { + compatible = "regulator-fixed"; + regulator-name = "vcc3v3"; + regulator-min-microvolt = <3300000>; + regulator-max-microvolt = <3300000>; + }; }; &mmc0 { pinctrl-names = "default"; pinctrl-0 = <&mmc0_pins>; - vmmc-supply = <®_dcdc1>; + vmmc-supply = <®_vcc3v3>; cd-gpios = <&pio 5 6 GPIO_ACTIVE_HIGH>; cd-inverted; disable-wp; -- 2.14.1