From: Patrice Chotard <patrice.chot...@st.com>

STM32F469 SoC uses an arm_pl180_mmci SDIO controller.

Signed-off-by: Andrea Merello <andrea.mere...@gmail.com>
Signed-off-by: Alexandre Torgue <alexandre.tor...@st.com>
Signed-off-by: Patrice Chotard <patrice.chot...@st.com>
---
 arch/arm/dts/stm32f4-pinctrl.dtsi | 31 +++++++++++++++++++++++++++++++
 arch/arm/dts/stm32f429.dtsi       | 12 ++++++++++++
 arch/arm/dts/stm32f469-disco.dts  | 16 ++++++++++++++++
 3 files changed, 59 insertions(+)

diff --git a/arch/arm/dts/stm32f4-pinctrl.dtsi 
b/arch/arm/dts/stm32f4-pinctrl.dtsi
index df59956..736bca7 100644
--- a/arch/arm/dts/stm32f4-pinctrl.dtsi
+++ b/arch/arm/dts/stm32f4-pinctrl.dtsi
@@ -339,6 +339,37 @@
                                        slew-rate = <3>;
                                };
                        };
+
+                       sdio_pins: sdio_pins@0 {
+                               pins {
+                                       pinmux = <STM32_PINMUX('C', 8, AF12)>,
+                                                <STM32_PINMUX('C', 9, AF12)>,
+                                                <STM32_PINMUX('C', 10, AF12)>,
+                                                <STM32_PINMUX('c', 11, AF12)>,
+                                                <STM32_PINMUX('C', 12, AF12)>,
+                                                <STM32_PINMUX('D', 2, AF12)>;
+                                       drive-push-pull;
+                                       slew-rate = <2>;
+                               };
+                       };
+
+                       sdio_pins_od: sdio_pins_od@0 {
+                               pins1 {
+                                       pinmux = <STM32_PINMUX('C', 8, AF12)>,
+                                                <STM32_PINMUX('C', 9, AF12)>,
+                                                <STM32_PINMUX('C', 10, AF12)>,
+                                                <STM32_PINMUX('C', 11, AF12)>,
+                                                <STM32_PINMUX('C', 12, AF12)>;
+                                       drive-push-pull;
+                                       slew-rate = <2>;
+                               };
+
+                               pins2 {
+                                       pinmux = <STM32_PINMUX('D', 2, AF12)>;
+                                       drive-open-drain;
+                                       slew-rate = <2>;
+                               };
+                       };
                };
        };
 };
diff --git a/arch/arm/dts/stm32f429.dtsi b/arch/arm/dts/stm32f429.dtsi
index 23b7946..6bcf986 100644
--- a/arch/arm/dts/stm32f429.dtsi
+++ b/arch/arm/dts/stm32f429.dtsi
@@ -576,6 +576,18 @@
                        reg = <0x40007000 0x400>;
                };
 
+               sdio: sdio@40012c00 {
+                       compatible = "st,stm32f4xx-sdio";
+                       reg = <0x40012c00 0x400>;
+                       clocks = <&rcc 0 171>;
+                       interrupts = <49>;
+                       status = "disabled";
+                       pinctrl-0 = <&sdio_pins>;
+                       pinctrl-1 = <&sdio_pins_od>;
+                       pinctrl-names = "default", "opendrain";
+                       max-frequency = <48000000>;
+               };
+
                ltdc: display-controller@40016800 {
                        compatible = "st,stm32-ltdc";
                        reg = <0x40016800 0x200>;
diff --git a/arch/arm/dts/stm32f469-disco.dts b/arch/arm/dts/stm32f469-disco.dts
index 67b19dc..3ecef28 100644
--- a/arch/arm/dts/stm32f469-disco.dts
+++ b/arch/arm/dts/stm32f469-disco.dts
@@ -61,6 +61,13 @@
                serial0 = &usart3;
        };
 
+       mmc_vcard: mmc_vcard {
+               compatible = "regulator-fixed";
+               regulator-name = "mmc_vcard";
+               regulator-min-microvolt = <3300000>;
+               regulator-max-microvolt = <3300000>;
+       };
+
        soc {
                dma-ranges = <0xc0000000 0x0 0x10000000>;
        };
@@ -115,6 +122,15 @@
        };
 };
 
+&sdio {
+       status = "okay";
+       vmmc-supply = <&mmc_vcard>;
+       pinctrl-names = "default", "opendrain";
+       pinctrl-0 = <&sdio_pins>;
+       pinctrl-1 = <&sdio_pins_od>;
+       bus-width = <4>;
+};
+
 &usart3 {
        pinctrl-0 = <&usart3_pins_a>;
        pinctrl-names = "default";
-- 
1.9.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
https://lists.denx.de/listinfo/u-boot

Reply via email to