[U-Boot] [PATCH 14/14] ARM: DTS: stm32: add SDIO controller support for stm32f469-disco

patrice.chotard at st.com patrice.chotard at st.com
Thu Nov 30 16:58:05 UTC 2017


From: Patrice Chotard <patrice.chotard at st.com>

STM32F469 SoC uses an arm_pl180_mmci SDIO controller.

Signed-off-by: Andrea Merello <andrea.merello at gmail.com>
Signed-off-by: Alexandre Torgue <alexandre.torgue at st.com>
Signed-off-by: Patrice Chotard <patrice.chotard at 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 at 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 at 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 at 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 at 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



More information about the U-Boot mailing list