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 <andre.przyw...@arm.com> --- 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 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot