devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes
@ 2023-03-28 15:37 Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 1/6] ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx Valentin Caron
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

On stm32mp15 device trees:
  - Fix pins of USART2 of stm32mp15 dk* boards
  - Remove duplicates serial aliases

On stm32mp13 device trees:
  - Add USART nodes in stm32mp131.dtsi
  - Add USART nodes in stm32mp135f-dk.dts
  
Changes in v2:
  - Drop patch about SCMI clock of USART1.

Valentin Caron (6):
  ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx
  ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards
  ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards
  ARM: dts: stm32: add uart nodes on stm32mp13
  ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl
  ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk

 arch/arm/boot/dts/stm32mp13-pinctrl.dtsi | 129 +++++++++++++++++++++++
 arch/arm/boot/dts/stm32mp131.dtsi        |  97 ++++++++++++++++-
 arch/arm/boot/dts/stm32mp135f-dk.dts     |  42 +++++++-
 arch/arm/boot/dts/stm32mp15-pinctrl.dtsi |   4 +-
 arch/arm/boot/dts/stm32mp157a-dk1.dts    |   3 -
 arch/arm/boot/dts/stm32mp157c-dk2.dts    |   3 -
 arch/arm/boot/dts/stm32mp157c-ed1.dts    |   8 +-
 arch/arm/boot/dts/stm32mp157c-ev1.dts    |   9 +-
 arch/arm/boot/dts/stm32mp15xx-dkx.dtsi   |   6 ++
 9 files changed, 282 insertions(+), 19 deletions(-)

-- 
2.25.1


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

* [PATCH v2 1/6] ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 2/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards Valentin Caron
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

On stm32mp15xx-dkx boards:
- Fix slew-rate of USART 2 to 0 like other USARTs, because frequency of
USART pins doesn't exceed 10Mhz.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
index e15a3b2a9b39..e86d989dd351 100644
--- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
@@ -2178,7 +2178,7 @@ pins1 {
 				 <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */
 			bias-disable;
 			drive-push-pull;
-			slew-rate = <3>;
+			slew-rate = <0>;
 		};
 		pins2 {
 			pinmux = <STM32_PINMUX('D', 6, AF7)>, /* USART2_RX */
@@ -2196,7 +2196,7 @@ pins2 {
 			pinmux = <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */
 			bias-disable;
 			drive-push-pull;
-			slew-rate = <3>;
+			slew-rate = <0>;
 		};
 		pins3 {
 			pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
-- 
2.25.1


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

* [PATCH v2 2/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 1/6] ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 3/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards Valentin Caron
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

Remove duplicates and clean uart aliases.
Uart aliases and uart pins should be declared and associated to
uart instance at the same time.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp157a-dk1.dts  | 3 ---
 arch/arm/boot/dts/stm32mp157c-dk2.dts  | 3 ---
 arch/arm/boot/dts/stm32mp15xx-dkx.dtsi | 6 ++++++
 3 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/stm32mp157a-dk1.dts b/arch/arm/boot/dts/stm32mp157a-dk1.dts
index 4c8be9c8eb20..0da3667ab1e0 100644
--- a/arch/arm/boot/dts/stm32mp157a-dk1.dts
+++ b/arch/arm/boot/dts/stm32mp157a-dk1.dts
@@ -17,9 +17,6 @@ / {
 
 	aliases {
 		ethernet0 = &ethernet0;
-		serial0 = &uart4;
-		serial1 = &usart3;
-		serial2 = &uart7;
 	};
 
 	chosen {
diff --git a/arch/arm/boot/dts/stm32mp157c-dk2.dts b/arch/arm/boot/dts/stm32mp157c-dk2.dts
index 2bc92ef3aeb9..ab13e340f4ef 100644
--- a/arch/arm/boot/dts/stm32mp157c-dk2.dts
+++ b/arch/arm/boot/dts/stm32mp157c-dk2.dts
@@ -18,9 +18,6 @@ / {
 
 	aliases {
 		ethernet0 = &ethernet0;
-		serial0 = &uart4;
-		serial1 = &usart3;
-		serial2 = &uart7;
 		serial3 = &usart2;
 	};
 
diff --git a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
index 11370ae0d868..ded5ab9a4798 100644
--- a/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
+++ b/arch/arm/boot/dts/stm32mp15xx-dkx.dtsi
@@ -8,6 +8,12 @@
 #include <dt-bindings/mfd/st,stpmic1.h>
 
 / {
+	aliases {
+		serial0 = &uart4;
+		serial1 = &usart3;
+		serial2 = &uart7;
+	};
+
 	memory@c0000000 {
 		device_type = "memory";
 		reg = <0xc0000000 0x20000000>;
-- 
2.25.1


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

* [PATCH v2 3/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 1/6] ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 2/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 4/6] ARM: dts: stm32: add uart nodes on stm32mp13 Valentin Caron
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

Remove duplicates and clean uart aliases.
Uart aliases and uart pins should be declared and associated to
uart instance at the same time.

Put also aliases node above chosen node as same as stm32mp157c-dk2.dts.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp157c-ed1.dts | 8 ++++----
 arch/arm/boot/dts/stm32mp157c-ev1.dts | 9 ++++-----
 2 files changed, 8 insertions(+), 9 deletions(-)

diff --git a/arch/arm/boot/dts/stm32mp157c-ed1.dts b/arch/arm/boot/dts/stm32mp157c-ed1.dts
index b1eb688a278a..2dfde6292668 100644
--- a/arch/arm/boot/dts/stm32mp157c-ed1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ed1.dts
@@ -16,6 +16,10 @@ / {
 	model = "STMicroelectronics STM32MP157C eval daughter";
 	compatible = "st,stm32mp157c-ed1", "st,stm32mp157";
 
+	aliases {
+		serial0 = &uart4;
+	};
+
 	chosen {
 		stdout-path = "serial0:115200n8";
 	};
@@ -72,10 +76,6 @@ gpu_reserved: gpu@e8000000 {
 		};
 	};
 
-	aliases {
-		serial0 = &uart4;
-	};
-
 	sd_switch: regulator-sd_switch {
 		compatible = "regulator-gpio";
 		regulator-name = "sd_switch";
diff --git a/arch/arm/boot/dts/stm32mp157c-ev1.dts b/arch/arm/boot/dts/stm32mp157c-ev1.dts
index 542226cfcfdf..ba8e9d9a42fa 100644
--- a/arch/arm/boot/dts/stm32mp157c-ev1.dts
+++ b/arch/arm/boot/dts/stm32mp157c-ev1.dts
@@ -14,16 +14,15 @@ / {
 	model = "STMicroelectronics STM32MP157C eval daughter on eval mother";
 	compatible = "st,stm32mp157c-ev1", "st,stm32mp157c-ed1", "st,stm32mp157";
 
-	chosen {
-		stdout-path = "serial0:115200n8";
-	};
-
 	aliases {
-		serial0 = &uart4;
 		serial1 = &usart3;
 		ethernet0 = &ethernet0;
 	};
 
+	chosen {
+		stdout-path = "serial0:115200n8";
+	};
+
 	clocks {
 		clk_ext_camera: clk-ext-camera {
 			#clock-cells = <0>;
-- 
2.25.1


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

* [PATCH v2 4/6] ARM: dts: stm32: add uart nodes on stm32mp13
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
                   ` (2 preceding siblings ...)
  2023-03-28 15:37 ` [PATCH v2 3/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 5/6] ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl Valentin Caron
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

Update device-tree stm32mp131.dtsi to add some uart features.

On uart 1, 2, 3, 5, 6, 7, 8 nodes, add compabible, exti interrupts, clock,
reset properties, dma config.

On uart 4 node, only add dma configuration and use exti interrupt.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp131.dtsi | 97 ++++++++++++++++++++++++++++++-
 1 file changed, 96 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/stm32mp131.dtsi b/arch/arm/boot/dts/stm32mp131.dtsi
index 5949473cbbfd..9ea61687f023 100644
--- a/arch/arm/boot/dts/stm32mp131.dtsi
+++ b/arch/arm/boot/dts/stm32mp131.dtsi
@@ -397,12 +397,42 @@ spdifrx: audio-controller@4000d000 {
 			status = "disabled";
 		};
 
+		usart3: serial@4000f000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x4000f000 0x400>;
+			interrupts-extended = <&exti 28 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc USART3_K>;
+			resets = <&rcc USART3_R>;
+			wakeup-source;
+			dmas = <&dmamux1 45 0x400 0x5>,
+			       <&dmamux1 46 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		uart4: serial@40010000 {
 			compatible = "st,stm32h7-uart";
 			reg = <0x40010000 0x400>;
-			interrupts = <GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>;
+			interrupts-extended = <&exti 30 IRQ_TYPE_LEVEL_HIGH>;
 			clocks = <&rcc UART4_K>;
 			resets = <&rcc UART4_R>;
+			wakeup-source;
+			dmas = <&dmamux1 63 0x400 0x5>,
+			       <&dmamux1 64 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		uart5: serial@40011000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x40011000 0x400>;
+			interrupts-extended = <&exti 31 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc UART5_K>;
+			resets = <&rcc UART5_R>;
+			wakeup-source;
+			dmas = <&dmamux1 65 0x400 0x5>,
+			       <&dmamux1 66 0x400 0x1>;
+			dma-names = "rx", "tx";
 			status = "disabled";
 		};
 
@@ -442,6 +472,32 @@ i2c2: i2c@40013000 {
 			status = "disabled";
 		};
 
+		uart7: serial@40018000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x40018000 0x400>;
+			interrupts-extended = <&exti 32 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc UART7_K>;
+			resets = <&rcc UART7_R>;
+			wakeup-source;
+			dmas = <&dmamux1 79 0x400 0x5>,
+			       <&dmamux1 80 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		uart8: serial@40019000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x40019000 0x400>;
+			interrupts-extended = <&exti 33 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc UART8_K>;
+			resets = <&rcc UART8_R>;
+			wakeup-source;
+			dmas = <&dmamux1 81 0x400 0x5>,
+			       <&dmamux1 82 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		timers1: timer@44000000 {
 			#address-cells = <1>;
 			#size-cells = <0>;
@@ -524,6 +580,19 @@ counter {
 			};
 		};
 
+		usart6: serial@44003000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x44003000 0x400>;
+			interrupts-extended = <&exti 29 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc USART6_K>;
+			resets = <&rcc USART6_R>;
+			wakeup-source;
+			dmas = <&dmamux1 71 0x400 0x5>,
+			       <&dmamux1 72 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		i2s1: audio-controller@44004000 {
 			compatible = "st,stm32h7-i2s";
 			reg = <0x44004000 0x400>;
@@ -748,6 +817,32 @@ usbotg_hs: usb@49000000 {
 			status = "disabled";
 		};
 
+		usart1: serial@4c000000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x4c000000 0x400>;
+			interrupts-extended = <&exti 26 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc USART1_K>;
+			resets = <&rcc USART1_R>;
+			wakeup-source;
+			dmas = <&dmamux1 41 0x400 0x5>,
+			       <&dmamux1 42 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
+		usart2: serial@4c001000 {
+			compatible = "st,stm32h7-uart";
+			reg = <0x4c001000 0x400>;
+			interrupts-extended = <&exti 27 IRQ_TYPE_LEVEL_HIGH>;
+			clocks = <&rcc USART2_K>;
+			resets = <&rcc USART2_R>;
+			wakeup-source;
+			dmas = <&dmamux1 43 0x400 0x5>,
+			       <&dmamux1 44 0x400 0x1>;
+			dma-names = "rx", "tx";
+			status = "disabled";
+		};
+
 		i2s4: audio-controller@4c002000 {
 			compatible = "st,stm32h7-i2s";
 			reg = <0x4c002000 0x400>;
-- 
2.25.1


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

* [PATCH v2 5/6] ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
                   ` (3 preceding siblings ...)
  2023-03-28 15:37 ` [PATCH v2 4/6] ARM: dts: stm32: add uart nodes on stm32mp13 Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:37 ` [PATCH v2 6/6] ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk Valentin Caron
  2023-03-28 15:58 ` [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Alexandre TORGUE
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

Add pins for uart4, uart8, usart1 and usart2 in stm32mp13-pinctrl.dtsi
Theses pins have three states: default, sleep and idle.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp13-pinctrl.dtsi | 129 +++++++++++++++++++++++
 1 file changed, 129 insertions(+)

diff --git a/arch/arm/boot/dts/stm32mp13-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp13-pinctrl.dtsi
index b2dce3a29f39..27e0c3826789 100644
--- a/arch/arm/boot/dts/stm32mp13-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp13-pinctrl.dtsi
@@ -258,4 +258,133 @@ pins2 {
 			bias-disable;
 		};
 	};
+
+	uart4_idle_pins_a: uart4-idle-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('D', 6, ANALOG)>; /* UART4_TX */
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('D', 8, AF8)>; /* UART4_RX */
+			bias-disable;
+		};
+	};
+
+	uart4_sleep_pins_a: uart4-sleep-0 {
+		pins {
+			pinmux = <STM32_PINMUX('D', 6, ANALOG)>, /* UART4_TX */
+				 <STM32_PINMUX('D', 8, ANALOG)>; /* UART4_RX */
+		};
+	};
+
+	uart8_pins_a: uart8-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('E', 1, AF8)>; /* UART8_TX */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('F', 9, AF8)>; /* UART8_RX */
+			bias-pull-up;
+		};
+	};
+
+	uart8_idle_pins_a: uart8-idle-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('E', 1, ANALOG)>; /* UART8_TX */
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('F', 9, AF8)>; /* UART8_RX */
+			bias-pull-up;
+		};
+	};
+
+	uart8_sleep_pins_a: uart8-sleep-0 {
+		pins {
+			pinmux = <STM32_PINMUX('E', 1, ANALOG)>, /* UART8_TX */
+				 <STM32_PINMUX('F', 9, ANALOG)>; /* UART8_RX */
+		};
+	};
+
+	usart1_pins_a: usart1-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('C', 0, AF7)>, /* USART1_TX */
+				 <STM32_PINMUX('C', 2, AF7)>; /* USART1_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('B', 0, AF4)>, /* USART1_RX */
+				 <STM32_PINMUX('A', 7, AF7)>; /* USART1_CTS_NSS */
+			bias-pull-up;
+		};
+	};
+
+	usart1_idle_pins_a: usart1-idle-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('C', 0, ANALOG)>, /* USART1_TX */
+				 <STM32_PINMUX('A', 7, ANALOG)>; /* USART1_CTS_NSS */
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('C', 2, AF7)>; /* USART1_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins3 {
+			pinmux = <STM32_PINMUX('B', 0, AF4)>; /* USART1_RX */
+			bias-pull-up;
+		};
+	};
+
+	usart1_sleep_pins_a: usart1-sleep-0 {
+		pins {
+			pinmux = <STM32_PINMUX('C', 0, ANALOG)>, /* USART1_TX */
+				 <STM32_PINMUX('C', 2, ANALOG)>, /* USART1_RTS */
+				 <STM32_PINMUX('A', 7, ANALOG)>, /* USART1_CTS_NSS */
+				 <STM32_PINMUX('B', 0, ANALOG)>; /* USART1_RX */
+		};
+	};
+
+	usart2_pins_a: usart2-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('H', 12, AF1)>, /* USART2_TX */
+				 <STM32_PINMUX('D', 4, AF3)>; /* USART2_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('D', 15, AF1)>, /* USART2_RX */
+				 <STM32_PINMUX('E', 11, AF2)>; /* USART2_CTS_NSS */
+			bias-disable;
+		};
+	};
+
+	usart2_idle_pins_a: usart2-idle-0 {
+		pins1 {
+			pinmux = <STM32_PINMUX('H', 12, ANALOG)>, /* USART2_TX */
+				 <STM32_PINMUX('E', 11, ANALOG)>; /* USART2_CTS_NSS */
+		};
+		pins2 {
+			pinmux = <STM32_PINMUX('D', 4, AF3)>; /* USART2_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins3 {
+			pinmux = <STM32_PINMUX('D', 15, AF1)>; /* USART2_RX */
+			bias-disable;
+		};
+	};
+
+	usart2_sleep_pins_a: usart2-sleep-0 {
+		pins {
+			pinmux = <STM32_PINMUX('H', 12, ANALOG)>, /* USART2_TX */
+				 <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
+				 <STM32_PINMUX('D', 15, ANALOG)>, /* USART2_RX */
+				 <STM32_PINMUX('E', 11, ANALOG)>; /* USART2_CTS_NSS */
+		};
+	};
 };
-- 
2.25.1


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

* [PATCH v2 6/6] ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
                   ` (4 preceding siblings ...)
  2023-03-28 15:37 ` [PATCH v2 5/6] ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl Valentin Caron
@ 2023-03-28 15:37 ` Valentin Caron
  2023-03-28 15:58 ` [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Alexandre TORGUE
  6 siblings, 0 replies; 8+ messages in thread
From: Valentin Caron @ 2023-03-28 15:37 UTC (permalink / raw)
  To: Alexandre Torgue
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, Valentin Caron,
	devicetree, linux-stm32, linux-arm-kernel, linux-kernel

Update device-tree stm32mp135f-dk.dts to add usart1, uart8, usart2
and uart aliases.

- Usart2 is used to interface a BT device, enable it by default.
- Usart1 and uart8 are available on expansion connector.
  They are kept disabled. So, the pins are kept in analog state to
  lower power consumption by default or can be used as GPIO.
- Uart4 is used for console.

Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
---
 arch/arm/boot/dts/stm32mp135f-dk.dts | 42 +++++++++++++++++++++++++++-
 1 file changed, 41 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/stm32mp135f-dk.dts b/arch/arm/boot/dts/stm32mp135f-dk.dts
index c40686cb2b9a..f0900ca672b5 100644
--- a/arch/arm/boot/dts/stm32mp135f-dk.dts
+++ b/arch/arm/boot/dts/stm32mp135f-dk.dts
@@ -19,6 +19,13 @@ / {
 
 	aliases {
 		serial0 = &uart4;
+		serial1 = &usart1;
+		serial2 = &uart8;
+		serial3 = &usart2;
+	};
+
+	chosen {
+		stdout-path = "serial0:115200n8";
 	};
 
 	memory@c0000000 {
@@ -267,8 +274,41 @@ timer@13 {
 };
 
 &uart4 {
-	pinctrl-names = "default";
+	pinctrl-names = "default", "sleep", "idle";
 	pinctrl-0 = <&uart4_pins_a>;
+	pinctrl-1 = <&uart4_sleep_pins_a>;
+	pinctrl-2 = <&uart4_idle_pins_a>;
+	/delete-property/dmas;
+	/delete-property/dma-names;
+	status = "okay";
+};
+
+&uart8 {
+	pinctrl-names = "default", "sleep", "idle";
+	pinctrl-0 = <&uart8_pins_a>;
+	pinctrl-1 = <&uart8_sleep_pins_a>;
+	pinctrl-2 = <&uart8_idle_pins_a>;
+	/delete-property/dmas;
+	/delete-property/dma-names;
+	status = "disabled";
+};
+
+&usart1 {
+	pinctrl-names = "default", "sleep", "idle";
+	pinctrl-0 = <&usart1_pins_a>;
+	pinctrl-1 = <&usart1_sleep_pins_a>;
+	pinctrl-2 = <&usart1_idle_pins_a>;
+	uart-has-rtscts;
+	status = "disabled";
+};
+
+/* Bluetooth */
+&usart2 {
+	pinctrl-names = "default", "sleep", "idle";
+	pinctrl-0 = <&usart2_pins_a>;
+	pinctrl-1 = <&usart2_sleep_pins_a>;
+	pinctrl-2 = <&usart2_idle_pins_a>;
+	uart-has-rtscts;
 	status = "okay";
 };
 
-- 
2.25.1


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

* Re: [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes
  2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
                   ` (5 preceding siblings ...)
  2023-03-28 15:37 ` [PATCH v2 6/6] ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk Valentin Caron
@ 2023-03-28 15:58 ` Alexandre TORGUE
  6 siblings, 0 replies; 8+ messages in thread
From: Alexandre TORGUE @ 2023-03-28 15:58 UTC (permalink / raw)
  To: Valentin Caron
  Cc: Rob Herring, Krzysztof Kozlowski, Maxime Coquelin, devicetree,
	linux-stm32, linux-arm-kernel, linux-kernel

On 3/28/23 17:37, Valentin Caron wrote:
> On stm32mp15 device trees:
>    - Fix pins of USART2 of stm32mp15 dk* boards
>    - Remove duplicates serial aliases
> 
> On stm32mp13 device trees:
>    - Add USART nodes in stm32mp131.dtsi
>    - Add USART nodes in stm32mp135f-dk.dts
>    
> Changes in v2:
>    - Drop patch about SCMI clock of USART1.
> 
> Valentin Caron (6):
>    ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx
>    ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards
>    ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards
>    ARM: dts: stm32: add uart nodes on stm32mp13
>    ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl
>    ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk
> 
>   arch/arm/boot/dts/stm32mp13-pinctrl.dtsi | 129 +++++++++++++++++++++++
>   arch/arm/boot/dts/stm32mp131.dtsi        |  97 ++++++++++++++++-
>   arch/arm/boot/dts/stm32mp135f-dk.dts     |  42 +++++++-
>   arch/arm/boot/dts/stm32mp15-pinctrl.dtsi |   4 +-
>   arch/arm/boot/dts/stm32mp157a-dk1.dts    |   3 -
>   arch/arm/boot/dts/stm32mp157c-dk2.dts    |   3 -
>   arch/arm/boot/dts/stm32mp157c-ed1.dts    |   8 +-
>   arch/arm/boot/dts/stm32mp157c-ev1.dts    |   9 +-
>   arch/arm/boot/dts/stm32mp15xx-dkx.dtsi   |   6 ++
>   9 files changed, 282 insertions(+), 19 deletions(-)
> 
Series applied on stm32-next.

Regards
Alex

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

end of thread, other threads:[~2023-03-28 15:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-28 15:37 [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes Valentin Caron
2023-03-28 15:37 ` [PATCH v2 1/6] ARM: dts: stm32: fix slew-rate of USART2 on stm32mp15xx-dkx Valentin Caron
2023-03-28 15:37 ` [PATCH v2 2/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-dkx boards Valentin Caron
2023-03-28 15:37 ` [PATCH v2 3/6] ARM: dts: stm32: clean uart aliases on stm32mp15xx-exx boards Valentin Caron
2023-03-28 15:37 ` [PATCH v2 4/6] ARM: dts: stm32: add uart nodes on stm32mp13 Valentin Caron
2023-03-28 15:37 ` [PATCH v2 5/6] ARM: dts: stm32: add pins for usart2/1/4/8 in stm32mp13-pinctrl Valentin Caron
2023-03-28 15:37 ` [PATCH v2 6/6] ARM: dts: stm32: add uart nodes and uart aliases on stm32mp135f-dk Valentin Caron
2023-03-28 15:58 ` [PATCH v2 0/6] ARM: dts: stm32: stm32mp15 various fixes and add stm32mp13 usart nodes 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).