diff mbox series

ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control

Message ID 20210211110620.31594-1-valentin.caron@foss.st.com (mailing list archive)
State New, archived
Headers show
Series ARM: dts: stm32: fix usart 2 & 3 pinconf to wake up with flow control | expand

Commit Message

Valentin Caron Feb. 11, 2021, 11:07 a.m. UTC
Modify usart 2 & 3 pins to allow wake up from low power mode while the
hardware flow control is activated. UART RTS pin need to stay configure
in idle mode to receive characters in order to wake up.

Fixes: 842ed898a757 ("ARM: dts: stm32: add usart2, usart3 and uart7 pins in stm32mp15-pinctrl")

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

Comments

Alexandre TORGUE March 11, 2021, 11:08 a.m. UTC | #1
Hi Valentin

On 2/11/21 12:07 PM, Valentin CARON - foss wrote:
> Modify usart 2 & 3 pins to allow wake up from low power mode while the
> hardware flow control is activated. UART RTS pin need to stay configure
> in idle mode to receive characters in order to wake up.
> 
> Fixes: 842ed898a757 ("ARM: dts: stm32: add usart2, usart3 and uart7 pins in stm32mp15-pinctrl")
> 
> Signed-off-by: Valentin Caron <valentin.caron@foss.st.com>
> ---

Applied on stm32-fixes.

Thanks
Alex

>   arch/arm/boot/dts/stm32mp15-pinctrl.dtsi | 21 ++++++++++++++++++---
>   1 file changed, 18 insertions(+), 3 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> index 7b4249ed1983..060baa8b7e9d 100644
> --- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> +++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
> @@ -1891,10 +1891,15 @@
>   	usart2_idle_pins_c: usart2-idle-2 {
>   		pins1 {
>   			pinmux = <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */
> -				 <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
>   				 <STM32_PINMUX('D', 3, ANALOG)>; /* USART2_CTS_NSS */
>   		};
>   		pins2 {
> +			pinmux = <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */
> +			bias-disable;
> +			drive-push-pull;
> +			slew-rate = <3>;
> +		};
> +		pins3 {
>   			pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
>   			bias-disable;
>   		};
> @@ -1940,10 +1945,15 @@
>   	usart3_idle_pins_b: usart3-idle-1 {
>   		pins1 {
>   			pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */
> -				 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */
>   				 <STM32_PINMUX('I', 10, ANALOG)>; /* USART3_CTS_NSS */
>   		};
>   		pins2 {
> +			pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */
> +			bias-disable;
> +			drive-push-pull;
> +			slew-rate = <0>;
> +		};
> +		pins3 {
>   			pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */
>   			bias-disable;
>   		};
> @@ -1976,10 +1986,15 @@
>   	usart3_idle_pins_c: usart3-idle-2 {
>   		pins1 {
>   			pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */
> -				 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */
>   				 <STM32_PINMUX('B', 13, ANALOG)>; /* USART3_CTS_NSS */
>   		};
>   		pins2 {
> +			pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */
> +			bias-disable;
> +			drive-push-pull;
> +			slew-rate = <0>;
> +		};
> +		pins3 {
>   			pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */
>   			bias-disable;
>   		};
>
diff mbox series

Patch

diff --git a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
index 7b4249ed1983..060baa8b7e9d 100644
--- a/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
+++ b/arch/arm/boot/dts/stm32mp15-pinctrl.dtsi
@@ -1891,10 +1891,15 @@ 
 	usart2_idle_pins_c: usart2-idle-2 {
 		pins1 {
 			pinmux = <STM32_PINMUX('D', 5, ANALOG)>, /* USART2_TX */
-				 <STM32_PINMUX('D', 4, ANALOG)>, /* USART2_RTS */
 				 <STM32_PINMUX('D', 3, ANALOG)>; /* USART2_CTS_NSS */
 		};
 		pins2 {
+			pinmux = <STM32_PINMUX('D', 4, AF7)>; /* USART2_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <3>;
+		};
+		pins3 {
 			pinmux = <STM32_PINMUX('D', 6, AF7)>; /* USART2_RX */
 			bias-disable;
 		};
@@ -1940,10 +1945,15 @@ 
 	usart3_idle_pins_b: usart3-idle-1 {
 		pins1 {
 			pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */
-				 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */
 				 <STM32_PINMUX('I', 10, ANALOG)>; /* USART3_CTS_NSS */
 		};
 		pins2 {
+			pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins3 {
 			pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */
 			bias-disable;
 		};
@@ -1976,10 +1986,15 @@ 
 	usart3_idle_pins_c: usart3-idle-2 {
 		pins1 {
 			pinmux = <STM32_PINMUX('B', 10, ANALOG)>, /* USART3_TX */
-				 <STM32_PINMUX('G', 8, ANALOG)>, /* USART3_RTS */
 				 <STM32_PINMUX('B', 13, ANALOG)>; /* USART3_CTS_NSS */
 		};
 		pins2 {
+			pinmux = <STM32_PINMUX('G', 8, AF8)>; /* USART3_RTS */
+			bias-disable;
+			drive-push-pull;
+			slew-rate = <0>;
+		};
+		pins3 {
 			pinmux = <STM32_PINMUX('B', 12, AF8)>; /* USART3_RX */
 			bias-disable;
 		};