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