From: Konstantin Porotchkin <kos...@marvell.com>

Add GPIO regulator for controlling CP0 eMMC voltage (3.3V/1.8V)
Update CP0 SDHCI parameters in A7K/A8K boards DTS files.

Signed-off-by: Konstantin Porotchkin <kos...@marvell.com>
---
 arch/arm64/boot/dts/marvell/armada-7040-db.dts | 17 ++++++++++++++++-
 arch/arm64/boot/dts/marvell/armada-8040-db.dts | 18 +++++++++++++++++-
 2 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/marvell/armada-7040-db.dts 
b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
index a7eb4e7697a2..f8179cadc610 100644
--- a/arch/arm64/boot/dts/marvell/armada-7040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-7040-db.dts
@@ -28,6 +28,19 @@
                ethernet2 = &cp0_eth2;
        };
 
+       cp0_vccq_sd0_reg: cp0_vccq_sd0 {
+               compatible = "regulator-gpio";
+               regulator-name = "cp0-vccq-sd0";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               gpios = <&expander0 15 GPIO_ACTIVE_HIGH>;
+               gpios-states = <0>;
+               states = <1800000 0x1
+                         3300000 0x0>;
+               enable-active-high;
+       };
+
        cp0_exp_usb3_0_current_regulator: gpio-regulator {
                compatible = "regulator-gpio";
                regulator-name = "cp0-usb3-0-current-regulator";
@@ -253,8 +266,10 @@
 
 &cp0_sdhci0 {
        status = "okay";
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdhci_pins>;
        bus-width = <4>;
-       no-1-8-v;
+       vqmmc-supply = <&cp0_vccq_sd0_reg>;
        cd-gpios = <&expander0 12 GPIO_ACTIVE_LOW>;
 };
 
diff --git a/arch/arm64/boot/dts/marvell/armada-8040-db.dts 
b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
index 6362e654a823..d96aa9e9e61c 100644
--- a/arch/arm64/boot/dts/marvell/armada-8040-db.dts
+++ b/arch/arm64/boot/dts/marvell/armada-8040-db.dts
@@ -31,6 +31,19 @@
                i2c2 = &cp1_i2c0;
        };
 
+       cp0_vccq_sd0_reg: cp0_vccq_sd0 {
+               compatible = "regulator-gpio";
+               regulator-name = "cp0-vccq-sd0";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <3300000>;
+               regulator-boot-on;
+               gpios = <&expander0 15 GPIO_ACTIVE_HIGH>;
+               gpios-states = <0>;
+               states = <1800000 0x1
+                         3300000 0x0>;
+               enable-active-high;
+       };
+
        cp0_reg_usb3_0_vbus: cp0-usb3-0-vbus {
                compatible = "regulator-fixed";
                regulator-name = "cp0-usb3h0-vbus";
@@ -362,6 +375,9 @@
 
 &cp0_sdhci0 {
        status = "okay";
-       bus-width = <8>;
+       pinctrl-names = "default";
+       pinctrl-0 = <&sdhci_pins>;
+       bus-width = <4>;
+       vqmmc-supply = <&cp0_vccq_sd0_reg>;
        non-removable;
 };
-- 
2.17.1

Reply via email to