linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH  0/7] ARM: dts: stm32: add support of sdmmc1 on stm32
@ 2019-03-01  8:47 Ludovic Barre
  2019-03-01  8:47 ` [PATCH 1/7] ARM: stm32: add AMBA support for stm32 family Ludovic Barre
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch series adds support of sdmmc1 on:
-stm32h743i (boards: eval, disco)
-stm32mp1 (boards: ed1, dk1)

Ludovic Barre (7):
  ARM: stm32: add AMBA support for stm32 family
  ARM: dts: stm32: add sdmmc1 support on stm32h743
  ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board
  ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board
  ARM: dts: stm32: add sdmmc1 support on stm32mp157c
  ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board
  ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board

 arch/arm/boot/dts/stm32h743-pinctrl.dtsi  | 68 +++++++++++++++++++++++++++++++
 arch/arm/boot/dts/stm32h743.dtsi          | 14 +++++++
 arch/arm/boot/dts/stm32h743i-disco.dts    | 20 +++++++++
 arch/arm/boot/dts/stm32h743i-eval.dts     | 23 ++++++++++-
 arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 68 +++++++++++++++++++++++++++++++
 arch/arm/boot/dts/stm32mp157a-dk1.dts     | 20 +++++++++
 arch/arm/boot/dts/stm32mp157c-ed1.dts     | 37 +++++++++++++++++
 arch/arm/boot/dts/stm32mp157c.dtsi        | 14 +++++++
 arch/arm/mach-stm32/Kconfig               |  5 +--
 9 files changed, 264 insertions(+), 5 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH  1/7] ARM: stm32: add AMBA support for stm32 family
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 2/7] ARM: dts: stm32: add sdmmc1 support on stm32h743 Ludovic Barre
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch enables AMBA support for stm32 family.
stm32 family embeds different amba pl180 variants.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/mach-stm32/Kconfig | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)

diff --git a/arch/arm/mach-stm32/Kconfig b/arch/arm/mach-stm32/Kconfig
index 713c068..651bdf4 100644
--- a/arch/arm/mach-stm32/Kconfig
+++ b/arch/arm/mach-stm32/Kconfig
@@ -4,6 +4,7 @@ menuconfig ARCH_STM32
 	select HAVE_ARM_ARCH_TIMER if ARCH_MULTI_V7
 	select ARM_GIC if ARCH_MULTI_V7
 	select ARM_PSCI if ARCH_MULTI_V7
+	select ARM_AMBA
 	select ARCH_HAS_RESET_CONTROLLER
 	select CLKSRC_STM32
 	select PINCTRL
@@ -18,22 +19,18 @@ if ARM_SINGLE_ARMV7M
 
 config MACH_STM32F429
 	bool "STMicroelectronics STM32F429"
-	select ARM_AMBA
 	default y
 
 config MACH_STM32F469
 	bool "STMicroelectronics STM32F469"
-	select ARM_AMBA
 	default y
 
 config MACH_STM32F746
 	bool "STMicroelectronics STM32F746"
-	select ARM_AMBA
 	default y
 
 config MACH_STM32F769
 	bool "STMicroelectronics STM32F769"
-	select ARM_AMBA
 	default y
 
 config MACH_STM32H743
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  2/7] ARM: dts: stm32: add sdmmc1 support on stm32h743
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
  2019-03-01  8:47 ` [PATCH 1/7] ARM: stm32: add AMBA support for stm32 family Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 3/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board Ludovic Barre
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch adds support of sdmmc1 on stm32h743.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32h743.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/stm32h743.dtsi b/arch/arm/boot/dts/stm32h743.dtsi
index cbdd69c..7c47129 100644
--- a/arch/arm/boot/dts/stm32h743.dtsi
+++ b/arch/arm/boot/dts/stm32h743.dtsi
@@ -337,6 +337,20 @@
 			dma-requests = <32>;
 		};
 
+		sdmmc1: sdmmc@52007000 {
+			compatible = "arm,pl18x", "arm,primecell";
+			arm,primecell-periphid = <0x10153180>;
+			reg = <0x52007000 0x1000>;
+			interrupts = <49>;
+			interrupt-names	= "cmd_irq";
+			clocks = <&rcc SDMMC1_CK>;
+			clock-names = "apb_pclk";
+			resets = <&rcc STM32H7_AHB3_RESET(SDMMC1)>;
+			cap-sd-highspeed;
+			cap-mmc-highspeed;
+			max-frequency = <120000000>;
+		};
+
 		exti: interrupt-controller@58000000 {
 			compatible = "st,stm32h7-exti";
 			interrupt-controller;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  3/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
  2019-03-01  8:47 ` [PATCH 1/7] ARM: stm32: add AMBA support for stm32 family Ludovic Barre
  2019-03-01  8:47 ` [PATCH 2/7] ARM: dts: stm32: add sdmmc1 support on stm32h743 Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 4/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board Ludovic Barre
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

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

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32h743-pinctrl.dtsi | 68 ++++++++++++++++++++++++++++++++
 arch/arm/boot/dts/stm32h743i-eval.dts    | 23 ++++++++++-
 2 files changed, 90 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/stm32h743-pinctrl.dtsi b/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
index 24be8e6..98051a8 100644
--- a/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32h743-pinctrl.dtsi
@@ -173,6 +173,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 */
diff --git a/arch/arm/boot/dts/stm32h743i-eval.dts b/arch/arm/boot/dts/stm32h743i-eval.dts
index 3f8e0c4..eb5e0d4 100644
--- a/arch/arm/boot/dts/stm32h743i-eval.dts
+++ b/arch/arm/boot/dts/stm32h743i-eval.dts
@@ -69,13 +69,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 {
@@ -104,6 +111,20 @@
 	status = "okay";
 };
 
+&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";
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  4/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
                   ` (2 preceding siblings ...)
  2019-03-01  8:47 ` [PATCH 3/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 5/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c Ludovic Barre
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch adds sdmmc1 support on stm32h743i disco board.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32h743i-disco.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/stm32h743i-disco.dts b/arch/arm/boot/dts/stm32h743i-disco.dts
index 45e088c..1aeb5be 100644
--- a/arch/arm/boot/dts/stm32h743i-disco.dts
+++ b/arch/arm/boot/dts/stm32h743i-disco.dts
@@ -60,12 +60,32 @@
 	aliases {
 		serial0 = &usart2;
 	};
+
+	v3v3: regulator-v3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "v3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
 };
 
 &clk_hse {
 	clock-frequency = <25000000>;
 };
 
+&sdmmc1 {
+	pinctrl-names = "default", "opendrain", "sleep";
+	pinctrl-0 = <&sdmmc1_b4_pins_a>;
+	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
+	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
+	broken-cd;
+	st,neg-edge;
+	bus-width = <4>;
+	vmmc-supply = <&v3v3>;
+	status = "okay";
+};
+
 &usart2 {
 	pinctrl-0 = <&usart2_pins>;
 	pinctrl-names = "default";
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  5/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
                   ` (3 preceding siblings ...)
  2019-03-01  8:47 ` [PATCH 4/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 6/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board Ludovic Barre
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch adds support of sdmmc1 on stm32mp157c.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32mp157c.dtsi | 14 ++++++++++++++
 1 file changed, 14 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157c.dtsi b/arch/arm/boot/dts/stm32mp157c.dtsi
index f8bbfff..667f560 100644
--- a/arch/arm/boot/dts/stm32mp157c.dtsi
+++ b/arch/arm/boot/dts/stm32mp157c.dtsi
@@ -1050,6 +1050,20 @@
 			status = "disabled";
 		};
 
+		sdmmc1: sdmmc@58005000 {
+			compatible = "arm,pl18x", "arm,primecell";
+			arm,primecell-periphid = <0x10153180>;
+			reg = <0x58005000 0x1000>;
+			interrupts = <GIC_SPI 49 IRQ_TYPE_LEVEL_HIGH>;
+			interrupt-names	= "cmd_irq";
+			clocks = <&rcc SDMMC1_K>;
+			clock-names = "apb_pclk";
+			resets = <&rcc SDMMC1_R>;
+			cap-sd-highspeed;
+			cap-mmc-highspeed;
+			max-frequency = <120000000>;
+		};
+
 		crc1: crc@58009000 {
 			compatible = "st,stm32f7-crc";
 			reg = <0x58009000 0x400>;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  6/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
                   ` (4 preceding siblings ...)
  2019-03-01  8:47 ` [PATCH 5/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-01  8:47 ` [PATCH 7/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board Ludovic Barre
  2019-03-26 10:22 ` [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Alexandre Torgue
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch adds sdmmc1 support on stm32mp157c ed1 board.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 68 +++++++++++++++++++++++++++++++
 arch/arm/boot/dts/stm32mp157c-ed1.dts     | 37 +++++++++++++++++
 2 files changed, 105 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
index 9ec4694..9104896 100644
--- a/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp157-pinctrl.dtsi
@@ -325,6 +325,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('F', 2, AF11)>, /* SDMMC1_D0DIR */
+						 <STM32_PINMUX('C', 7, AF8)>, /* SDMMC1_D123DIR */
+						 <STM32_PINMUX('B', 9, AF11)>; /* SDMMC1_CDIR */
+					slew-rate = <3>;
+					drive-push-pull;
+					bias-pull-up;
+				};
+				pins2{
+					pinmux = <STM32_PINMUX('E', 4, AF8)>; /* SDMMC1_CKIN */
+					bias-pull-up;
+				};
+			};
+
+			sdmmc1_dir_sleep_pins_a: sdmmc1-dir-sleep-0 {
+				pins {
+					pinmux = <STM32_PINMUX('F', 2, ANALOG)>, /* SDMMC1_D0DIR */
+						 <STM32_PINMUX('C', 7, ANALOG)>, /* SDMMC1_D123DIR */
+						 <STM32_PINMUX('B', 9, ANALOG)>, /* SDMMC1_CDIR */
+						 <STM32_PINMUX('E', 4, ANALOG)>; /* SDMMC1_CKIN */
+				};
+			};
+
 			uart4_pins_a: uart4-0 {
 				pins1 {
 					pinmux = <STM32_PINMUX('G', 11, AF6)>; /* UART4_TX */
diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
index 98ef7a0..e5cd001 100644
--- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
@@ -7,6 +7,7 @@
 
 #include "stm32mp157c.dtsi"
 #include "stm32mp157-pinctrl.dtsi"
+#include <dt-bindings/gpio/gpio.h>
 
 / {
 	model = "STMicroelectronics STM32MP157C eval daughter";
@@ -40,6 +41,14 @@
 		regulator-always-on;
 	};
 
+	vdd_sd: regulator-vdd_sd {
+		compatible = "regulator-fixed";
+		regulator-name = "vdd_sd";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
+
 	vdd_usb: vdd-usb {
 		compatible = "regulator-fixed";
 		regulator-name = "vdd_usb";
@@ -47,6 +56,19 @@
 		regulator-max-microvolt = <3300000>;
 		regulator-always-on;
 	};
+
+	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 = <&gpiof 14 GPIO_ACTIVE_HIGH>;
+		gpios-states = <0>;
+		states = <1800000 0x1 2900000 0x0>;
+	};
 };
 
 &dts {
@@ -84,6 +106,21 @@
 	};
 };
 
+&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 = <&vdd_sd>;
+	vqmmc-supply = <&sd_switch>;
+	status = "okay";
+};
+
 &uart4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart4_pins_a>;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH  7/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
                   ` (5 preceding siblings ...)
  2019-03-01  8:47 ` [PATCH 6/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board Ludovic Barre
@ 2019-03-01  8:47 ` Ludovic Barre
  2019-03-26 10:22 ` [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Alexandre Torgue
  7 siblings, 0 replies; 9+ messages in thread
From: Ludovic Barre @ 2019-03-01  8:47 UTC (permalink / raw)
  To: Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, Alexandre Torgue, devicetree, linux-arm-kernel,
	linux-kernel, linux-stm32, Ludovic Barre

From: Ludovic Barre <ludovic.barre@st.com>

This patch adds sdmmc1 support on stm32mp157a dk1 board.

Signed-off-by: Ludovic Barre <ludovic.barre@st.com>
---
 arch/arm/boot/dts/stm32mp157a-dk1.dts | 20 ++++++++++++++++++++
 1 file changed, 20 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm32mp157a-dk1.dts
index 873a80e..e774a34 100644
--- a/arch/arm/boot/dts/stm32mp157a-dk1.dts
+++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts
@@ -36,6 +36,14 @@
 			default-state = "off";
 		};
 	};
+
+	v3v3: regulator-3v3 {
+		compatible = "regulator-fixed";
+		regulator-name = "v3v3";
+		regulator-min-microvolt = <3300000>;
+		regulator-max-microvolt = <3300000>;
+		regulator-always-on;
+	};
 };
 
 &ethernet0 {
@@ -70,6 +78,18 @@
 	status = "okay";
 };
 
+&sdmmc1 {
+	pinctrl-names = "default", "opendrain", "sleep";
+	pinctrl-0 = <&sdmmc1_b4_pins_a>;
+	pinctrl-1 = <&sdmmc1_b4_od_pins_a>;
+	pinctrl-2 = <&sdmmc1_b4_sleep_pins_a>;
+	broken-cd;
+	st,neg-edge;
+	bus-width = <4>;
+	vmmc-supply = <&v3v3>;
+	status = "okay";
+};
+
 &uart4 {
 	pinctrl-names = "default";
 	pinctrl-0 = <&uart4_pins_a>;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32
  2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
                   ` (6 preceding siblings ...)
  2019-03-01  8:47 ` [PATCH 7/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board Ludovic Barre
@ 2019-03-26 10:22 ` Alexandre Torgue
  7 siblings, 0 replies; 9+ messages in thread
From: Alexandre Torgue @ 2019-03-26 10:22 UTC (permalink / raw)
  To: Ludovic Barre, Rob Herring, Mark Rutland
  Cc: Maxime Coquelin, devicetree, linux-arm-kernel, linux-kernel, linux-stm32

Hi Ludovic

On 3/1/19 9:47 AM, Ludovic Barre wrote:
> From: Ludovic Barre <ludovic.barre@st.com>
> 
> This patch series adds support of sdmmc1 on:
> -stm32h743i (boards: eval, disco)
> -stm32mp1 (boards: ed1, dk1)
> 
> Ludovic Barre (7):
>    ARM: stm32: add AMBA support for stm32 family
>    ARM: dts: stm32: add sdmmc1 support on stm32h743
>    ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board
>    ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board
>    ARM: dts: stm32: add sdmmc1 support on stm32mp157c
>    ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board
>    ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board
> 
>   arch/arm/boot/dts/stm32h743-pinctrl.dtsi  | 68 +++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/stm32h743.dtsi          | 14 +++++++
>   arch/arm/boot/dts/stm32h743i-disco.dts    | 20 +++++++++
>   arch/arm/boot/dts/stm32h743i-eval.dts     | 23 ++++++++++-
>   arch/arm/boot/dts/stm32mp157-pinctrl.dtsi | 68 +++++++++++++++++++++++++++++++
>   arch/arm/boot/dts/stm32mp157a-dk1.dts     | 20 +++++++++
>   arch/arm/boot/dts/stm32mp157c-ed1.dts     | 37 +++++++++++++++++
>   arch/arm/boot/dts/stm32mp157c.dtsi        | 14 +++++++
>   arch/arm/mach-stm32/Kconfig               |  5 +--
>   9 files changed, 264 insertions(+), 5 deletions(-)
> 

Series applied on stm32-next.

Regards
Alex

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2019-03-26 10:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-03-01  8:47 [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Ludovic Barre
2019-03-01  8:47 ` [PATCH 1/7] ARM: stm32: add AMBA support for stm32 family Ludovic Barre
2019-03-01  8:47 ` [PATCH 2/7] ARM: dts: stm32: add sdmmc1 support on stm32h743 Ludovic Barre
2019-03-01  8:47 ` [PATCH 3/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i eval board Ludovic Barre
2019-03-01  8:47 ` [PATCH 4/7] ARM: dts: stm32: add sdmmc1 support on stm32h743i disco board Ludovic Barre
2019-03-01  8:47 ` [PATCH 5/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c Ludovic Barre
2019-03-01  8:47 ` [PATCH 6/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157c ed1 board Ludovic Barre
2019-03-01  8:47 ` [PATCH 7/7] ARM: dts: stm32: add sdmmc1 support on stm32mp157a dk1 board Ludovic Barre
2019-03-26 10:22 ` [PATCH 0/7] ARM: dts: stm32: add support of sdmmc1 on stm32 Alexandre Torgue

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).