ARM: dts: stm32: add reset support to uart nodes on stm32mp15x

Message ID 20200706144753.1.I1f502be5d9d0197f53e8075a283a102e05817c2b@changeid
State Superseded
Headers show
Series
  • ARM: dts: stm32: add reset support to uart nodes on stm32mp15x
Related show

Commit Message

Patrick DELAUNAY July 6, 2020, 12:48 p.m.
STM32 serial IP can be reset via reset controller.
Add the support of reset to uart nodes on stm32mp15-u-boot.dtsi,
the ad-dons file for U-Boot.

This patch fix issues when previous UART configuration, for example
done in TF-A or ROM code, is not handled in U-Boot stm32 serial driver
init.

This reset property won't be not added in Linux kernel device tree
as this reset is not used in Linux STM32 serial driver.

Signed-off-by: Patrick Delaunay <patrick.delaunay at st.com>
---

 arch/arm/dts/stm32mp15-u-boot.dtsi | 32 ++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

Comments

Patrice CHOTARD July 28, 2020, 2:12 p.m. | #1
On 7/6/20 2:48 PM, Patrick Delaunay wrote:
> STM32 serial IP can be reset via reset controller.

> Add the support of reset to uart nodes on stm32mp15-u-boot.dtsi,

> the ad-dons file for U-Boot.

>

> This patch fix issues when previous UART configuration, for example

> done in TF-A or ROM code, is not handled in U-Boot stm32 serial driver

> init.

>

> This reset property won't be not added in Linux kernel device tree

> as this reset is not used in Linux STM32 serial driver.

>

> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>

> ---

>

>  arch/arm/dts/stm32mp15-u-boot.dtsi | 32 ++++++++++++++++++++++++++++++

>  1 file changed, 32 insertions(+)

>

> diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi

> index 142ad25c43..c463b49dda 100644

> --- a/arch/arm/dts/stm32mp15-u-boot.dtsi

> +++ b/arch/arm/dts/stm32mp15-u-boot.dtsi

> @@ -179,6 +179,38 @@

>  	compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";

>  };

>  

> +&usart1 {

> +	resets = <&rcc USART1_R>;

> +};

> +

> +&usart2 {

> +	resets = <&rcc USART2_R>;

> +};

> +

> +&usart3 {

> +	resets = <&rcc USART3_R>;

> +};

> +

> +&uart4 {

> +	resets = <&rcc UART4_R>;

> +};

> +

> +&uart5 {

> +	resets = <&rcc UART5_R>;

> +};

> +

> +&usart6 {

> +	resets = <&rcc USART6_R>;

> +};

> +

> +&uart7 {

> +	resets = <&rcc UART7_R>;

> +};

> +

> +&uart8{

> +	resets = <&rcc UART8_R>;

> +};

> +

>  &usbotg_hs {

>  	compatible = "st,stm32mp1-hsotg", "snps,dwc2";

>  };


Reviewed-by: Patrice Chotard <patrice.chotard@st.com>


Thanks

Patrice
Patrice CHOTARD July 28, 2020, 4:11 p.m. | #2
On 7/28/20 4:12 PM, Patrice CHOTARD wrote:
> On 7/6/20 2:48 PM, Patrick Delaunay wrote:

>> STM32 serial IP can be reset via reset controller.

>> Add the support of reset to uart nodes on stm32mp15-u-boot.dtsi,

>> the ad-dons file for U-Boot.

>>

>> This patch fix issues when previous UART configuration, for example

>> done in TF-A or ROM code, is not handled in U-Boot stm32 serial driver

>> init.

>>

>> This reset property won't be not added in Linux kernel device tree

>> as this reset is not used in Linux STM32 serial driver.

>>

>> Signed-off-by: Patrick Delaunay <patrick.delaunay@st.com>

>> ---

>>

>>  arch/arm/dts/stm32mp15-u-boot.dtsi | 32 ++++++++++++++++++++++++++++++

>>  1 file changed, 32 insertions(+)

>>

>> diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi

>> index 142ad25c43..c463b49dda 100644

>> --- a/arch/arm/dts/stm32mp15-u-boot.dtsi

>> +++ b/arch/arm/dts/stm32mp15-u-boot.dtsi

>> @@ -179,6 +179,38 @@

>>  	compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";

>>  };

>>  

>> +&usart1 {

>> +	resets = <&rcc USART1_R>;

>> +};

>> +

>> +&usart2 {

>> +	resets = <&rcc USART2_R>;

>> +};

>> +

>> +&usart3 {

>> +	resets = <&rcc USART3_R>;

>> +};

>> +

>> +&uart4 {

>> +	resets = <&rcc UART4_R>;

>> +};

>> +

>> +&uart5 {

>> +	resets = <&rcc UART5_R>;

>> +};

>> +

>> +&usart6 {

>> +	resets = <&rcc USART6_R>;

>> +};

>> +

>> +&uart7 {

>> +	resets = <&rcc UART7_R>;

>> +};

>> +

>> +&uart8{

>> +	resets = <&rcc UART8_R>;

>> +};

>> +

>>  &usbotg_hs {

>>  	compatible = "st,stm32mp1-hsotg", "snps,dwc2";

>>  };

> Reviewed-by: Patrice Chotard <patrice.chotard@st.com>

>

> Thanks

>

> Patrice

> _______________________________________________

> Uboot-stm32 mailing list

> Uboot-stm32@st-md-mailman.stormreply.com

> https://st-md-mailman.stormreply.com/mailman/listinfo/uboot-stm32

Applied to u-boot-stm/master

Thanks

Patrice

Patch

diff --git a/arch/arm/dts/stm32mp15-u-boot.dtsi b/arch/arm/dts/stm32mp15-u-boot.dtsi
index 142ad25c43..c463b49dda 100644
--- a/arch/arm/dts/stm32mp15-u-boot.dtsi
+++ b/arch/arm/dts/stm32mp15-u-boot.dtsi
@@ -179,6 +179,38 @@ 
 	compatible = "st,stm32-sdmmc2", "arm,pl18x", "arm,primecell";
 };
 
+&usart1 {
+	resets = <&rcc USART1_R>;
+};
+
+&usart2 {
+	resets = <&rcc USART2_R>;
+};
+
+&usart3 {
+	resets = <&rcc USART3_R>;
+};
+
+&uart4 {
+	resets = <&rcc UART4_R>;
+};
+
+&uart5 {
+	resets = <&rcc UART5_R>;
+};
+
+&usart6 {
+	resets = <&rcc USART6_R>;
+};
+
+&uart7 {
+	resets = <&rcc UART7_R>;
+};
+
+&uart8{
+	resets = <&rcc UART8_R>;
+};
+
 &usbotg_hs {
 	compatible = "st,stm32mp1-hsotg", "snps,dwc2";
 };