ARM: dts: stm32: Repair SDMMC1 operation on AV96
authorMarek Vasut <marex@denx.de>
Wed, 22 Apr 2020 10:46:01 +0000 (12:46 +0200)
committerAlexandre Torgue <alexandre.torgue@st.com>
Wed, 29 Apr 2020 07:50:39 +0000 (09:50 +0200)
The SD uses different pinmux for the D123DIRline, use such a pinmux,
otherwise there is a pinmux collision on the AV96. Add missing SD
voltage regulator switch.

Reviewed-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Marek Vasut <marex@denx.de>
Cc: Alexandre Torgue <alexandre.torgue@st.com>
Cc: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Cc: Maxime Coquelin <mcoquelin.stm32@gmail.com>
Cc: Patrice Chotard <patrice.chotard@st.com>
Cc: Patrick Delaunay <patrick.delaunay@st.com>
Cc: linux-stm32@st-md-mailman.stormreply.com
To: linux-arm-kernel@lists.infradead.org
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
arch/arm/boot/dts/stm32mp157a-avenger96.dts

index 8198e22..1219e2b 100644 (file)
                };
        };
 
+       sd_switch: regulator-sd_switch {
+               compatible = "regulator-gpio";
+               regulator-name = "sd_switch";
+               regulator-min-microvolt = <1800000>;
+               regulator-max-microvolt = <2900000>;
+               regulator-type = "voltage";
+               regulator-always-on;
+
+               gpios = <&gpioi 5 GPIO_ACTIVE_HIGH>;
+               gpios-states = <0>;
+               states = <1800000 0x1>,
+                        <2900000 0x0>;
+       };
+
        /* Enpirion EP3A8LQI U2 on the DHCOR */
        vdd_io: regulator-buck-io {
                compatible = "regulator-fixed";
 
 &sdmmc1 {
        pinctrl-names = "default", "opendrain", "sleep";
-       pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
-       pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
-       pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
+       pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_b>;
+       pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_b>;
+       pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_b>;
        cd-gpios = <&gpioi 8 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>;
        disable-wp;
        st,sig-dir;
        st,use-ckin;
        bus-width = <4>;
        vmmc-supply = <&vdd_sd>;
+       vqmmc-supply = <&sd_switch>;
        status = "okay";
 };