ARM: DTS: stm32: add SDIO controller support for stm32f469-disco
authorPatrice Chotard <patrice.chotard@st.com>
Tue, 12 Dec 2017 08:49:45 +0000 (09:49 +0100)
committerTom Rini <trini@konsulko.com>
Wed, 10 Jan 2018 13:05:48 +0000 (08:05 -0500)
STM32F469 SoC uses an arm_pl180_mmci SDIO controller.

Signed-off-by: Andrea Merello <andrea.merello@gmail.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue@st.com>
Signed-off-by: Patrice Chotard <patrice.chotard@st.com>
arch/arm/dts/stm32f4-pinctrl.dtsi
arch/arm/dts/stm32f429.dtsi
arch/arm/dts/stm32f469-disco.dts

index df599569b4305edd8c716178a59dcdd73228cb5d..736bca738d36214f110dd57c28024fbea91e7374 100644 (file)
                                        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>;
+                               };
+                       };
                };
        };
 };
index 23b7946ac65ace661f3c4c2c14043397b788c749..6bcf9863e0f6ebe4af20ed327b829185b2cce708 100644 (file)
                        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>;
index 67b19dcb897975c4801ca763d5cfecdf856c00d8..3ecef2867366332e451d3a8038289d15134e6dde 100644 (file)
                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>;
        };
        };
 };
 
+&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";