[PATCH 04/11] fix: dts: a8k: Add CP eMMC regulator and update device parameters

From: kostap
Date: Wed Feb 03 2021 - 08:40:43 EST


From: Konstantin Porotchkin <kostap@xxxxxxxxxxx>

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 <kostap@xxxxxxxxxxx>
---
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