Commit 90f16fea authored by Ludovic Barre's avatar Ludovic Barre Committed by Alexandre Torgue
Browse files

ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board



This patch adds sdmmc1 support on stm32h743i eval board.
This board has an external driver to control signal direction polarity.

Signed-off-by: default avatarLudovic Barre <ludovic.barre@st.com>
Signed-off-by: default avatarAlexandre Torgue <alexandre.torgue@st.com>
parent 61c0f6b8
Loading
Loading
Loading
Loading
+68 −0
Original line number Diff line number Diff line
@@ -188,6 +188,74 @@
				};
			};

			sdmmc1_b4_pins_a: sdmmc1-b4-0 {
				pins {
					pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
						 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
						 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
						 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
						 <STM32_PINMUX('C', 12, AF12)>, /* SDMMC1_CK */
						 <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
					slew-rate = <3>;
					drive-push-pull;
					bias-disable;
				};
			};

			sdmmc1_b4_od_pins_a: sdmmc1-b4-od-0 {
				pins1 {
					pinmux = <STM32_PINMUX('C', 8, AF12)>, /* SDMMC1_D0 */
						 <STM32_PINMUX('C', 9, AF12)>, /* SDMMC1_D1 */
						 <STM32_PINMUX('C', 10, AF12)>, /* SDMMC1_D2 */
						 <STM32_PINMUX('C', 11, AF12)>, /* SDMMC1_D3 */
						 <STM32_PINMUX('C', 12, AF12)>; /* SDMMC1_CK */
					slew-rate = <3>;
					drive-push-pull;
					bias-disable;
				};
				pins2{
					pinmux = <STM32_PINMUX('D', 2, AF12)>; /* SDMMC1_CMD */
					slew-rate = <3>;
					drive-open-drain;
					bias-disable;
				};
			};

			sdmmc1_b4_sleep_pins_a: sdmmc1-b4-sleep-0 {
				pins {
					pinmux = <STM32_PINMUX('C', 8, ANALOG)>, /* SDMMC1_D0 */
						 <STM32_PINMUX('C', 9, ANALOG)>, /* SDMMC1_D1 */
						 <STM32_PINMUX('C', 10, ANALOG)>, /* SDMMC1_D2 */
						 <STM32_PINMUX('C', 11, ANALOG)>, /* SDMMC1_D3 */
						 <STM32_PINMUX('C', 12, ANALOG)>, /* SDMMC1_CK */
						 <STM32_PINMUX('D', 2, ANALOG)>; /* SDMMC1_CMD */
				};
			};

			sdmmc1_dir_pins_a: sdmmc1-dir-0 {
				pins1 {
					pinmux = <STM32_PINMUX('C', 6, AF8)>, /* SDMMC1_D0DIR */
						 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */
						 <STM32_PINMUX('B', 9, AF7)>; /* SDMMC1_CDIR */
					slew-rate = <3>;
					drive-push-pull;
					bias-pull-up;
				};
				pins2{
					pinmux = <STM32_PINMUX('B', 8, AF7)>; /* SDMMC1_CKIN */
					bias-pull-up;
				};
			};

			sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 {
				pins {
					pinmux = <STM32_PINMUX('C', 6, ANALOG)>, /* SDMMC1_D0DIR */
						 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */
						 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
						 <STM32_PINMUX('B', 8, ANALOG)>; /* SDMMC1_CKIN */
				};
			};

			usart1_pins: usart1@0 {
				pins1 {
					pinmux = <STM32_PINMUX('B', 14, AF4)>; /* USART1_TX */
+22 −1
Original line number Diff line number Diff line
@@ -70,13 +70,20 @@
		regulator-always-on;
	};

	v2v9_sd: regulator-v2v9_sd {
		compatible = "regulator-fixed";
		regulator-name = "v2v9_sd";
		regulator-min-microvolt = <2900000>;
		regulator-max-microvolt = <2900000>;
		regulator-always-on;
	};

	usbotg_hs_phy: usb-phy {
		#phy-cells = <0>;
		compatible = "usb-nop-xceiv";
		clocks = <&rcc USB1ULPI_CK>;
		clock-names = "main_clk";
	};

};

&adc_12 {
@@ -122,6 +129,20 @@
	};
};

&sdmmc1 {
	pinctrl-names = "default", "opendrain", "sleep";
	pinctrl-0 = <&sdmmc1_b4_pins_a &sdmmc1_dir_pins_a>;
	pinctrl-1 = <&sdmmc1_b4_od_pins_a &sdmmc1_dir_pins_a>;
	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a &sdmmc1_dir_sleep_pins_a>;
	broken-cd;
	st,sig-dir;
	st,neg-edge;
	st,use-ckin;
	bus-width = <4>;
	vmmc-supply = <&v2v9_sd>;
	status = "okay";
};

&usart1 {
	pinctrl-0 = <&usart1_pins>;
	pinctrl-names = "default";