[PATCHv3,2/2] ARM: dts: at91: sam9x60: fix the SOC detection

Message ID 20230718065735.10187-3-durai.manickamkr@microchip.com
State New
Headers
Series update at91 usart compatible for sam9x60 |

Commit Message

Durai Manickam KR July 18, 2023, 6:57 a.m. UTC
  Defining the dbgu compatible strings in the UART submodule of the
flexcom gives the below error log,
AT91: Could not find matching SoC description
This error arises due to defining the dbgu compatible strings to
the flexcom usart which is not valid because there is only one debug unit
in the sam9x60 SOC and it has the chipid register. The dbgu compatible
strings are valid only for debug usart and not valid for flexcom usart.
Thus removing the dbgu compatible strings in the UART submodule of the
flexcom for the proper SOC detection.

Fixes: 99c808335877 (ARM: dts: at91: sam9x60: Add missing flexcom definitions)
Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>
---
 arch/arm/boot/dts/microchip/sam9x60.dtsi | 26 ++++++++++++------------
 1 file changed, 13 insertions(+), 13 deletions(-)
  

Comments

Alexander Dahl July 31, 2023, 1:35 p.m. UTC | #1
Hello Durai,

Am Tue, Jul 18, 2023 at 12:27:35PM +0530 schrieb Durai Manickam KR:
> Defining the dbgu compatible strings in the UART submodule of the
> flexcom gives the below error log,
> AT91: Could not find matching SoC description
> This error arises due to defining the dbgu compatible strings to
> the flexcom usart which is not valid because there is only one debug unit
> in the sam9x60 SOC and it has the chipid register. The dbgu compatible
> strings are valid only for debug usart and not valid for flexcom usart.
> Thus removing the dbgu compatible strings in the UART submodule of the
> flexcom for the proper SOC detection.
> 
> Fixes: 99c808335877 (ARM: dts: at91: sam9x60: Add missing flexcom definitions)
> Signed-off-by: Durai Manickam KR <durai.manickamkr@microchip.com>

Acked-by: Alexander Dahl <ada@thorsis.com>

(The diff of the patch is identical to the diff of a quick hacked
patch I made weeks ago for my BSP which fixed the issue.  SoC variant
was reported correctly on serial console on boot again.  However I did
not actually test *your* patch on my hardware (sam9x60 curiosity),
thus Acked-by and not Tested-by.)

Greets
Alex

> ---
>  arch/arm/boot/dts/microchip/sam9x60.dtsi | 26 ++++++++++++------------
>  1 file changed, 13 insertions(+), 13 deletions(-)
> 
> diff --git a/arch/arm/boot/dts/microchip/sam9x60.dtsi b/arch/arm/boot/dts/microchip/sam9x60.dtsi
> index 8b53997675e7..73d570a17269 100644
> --- a/arch/arm/boot/dts/microchip/sam9x60.dtsi
> +++ b/arch/arm/boot/dts/microchip/sam9x60.dtsi
> @@ -172,7 +172,7 @@ flx4: flexcom@f0000000 {
>  				status = "disabled";
>  
>  				uart4: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -240,7 +240,7 @@ flx5: flexcom@f0004000 {
>  				status = "disabled";
>  
>  				uart5: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
>  					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
> @@ -370,7 +370,7 @@ flx11: flexcom@f0020000 {
>  				status = "disabled";
>  
>  				uart11: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -419,7 +419,7 @@ flx12: flexcom@f0024000 {
>  				status = "disabled";
>  
>  				uart12: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -576,7 +576,7 @@ flx6: flexcom@f8010000 {
>  				status = "disabled";
>  
>  				uart6: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -625,7 +625,7 @@ flx7: flexcom@f8014000 {
>  				status = "disabled";
>  
>  				uart7: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -674,7 +674,7 @@ flx8: flexcom@f8018000 {
>  				status = "disabled";
>  
>  				uart8: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -723,7 +723,7 @@ flx0: flexcom@f801c000 {
>  				status = "disabled";
>  
>  				uart0: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -791,7 +791,7 @@ flx1: flexcom@f8020000 {
>  				status = "disabled";
>  
>  				uart1: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -859,7 +859,7 @@ flx2: flexcom@f8024000 {
>  				status = "disabled";
>  
>  				uart2: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -927,7 +927,7 @@ flx3: flexcom@f8028000 {
>  				status = "disabled";
>  
>  				uart3: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -1050,7 +1050,7 @@ flx9: flexcom@f8040000 {
>  				status = "disabled";
>  
>  				uart9: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> @@ -1099,7 +1099,7 @@ flx10: flexcom@f8044000 {
>  				status = "disabled";
>  
>  				uart10: serial@200 {
> -					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
> +					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
>  					reg = <0x200 0x200>;
>  					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
>  					dmas = <&dma0
> -- 
> 2.25.1
>
  

Patch

diff --git a/arch/arm/boot/dts/microchip/sam9x60.dtsi b/arch/arm/boot/dts/microchip/sam9x60.dtsi
index 8b53997675e7..73d570a17269 100644
--- a/arch/arm/boot/dts/microchip/sam9x60.dtsi
+++ b/arch/arm/boot/dts/microchip/sam9x60.dtsi
@@ -172,7 +172,7 @@  flx4: flexcom@f0000000 {
 				status = "disabled";
 
 				uart4: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <13 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -240,7 +240,7 @@  flx5: flexcom@f0004000 {
 				status = "disabled";
 
 				uart5: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					atmel,usart-mode = <AT91_USART_MODE_SERIAL>;
 					interrupts = <14 IRQ_TYPE_LEVEL_HIGH 7>;
@@ -370,7 +370,7 @@  flx11: flexcom@f0020000 {
 				status = "disabled";
 
 				uart11: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <32 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -419,7 +419,7 @@  flx12: flexcom@f0024000 {
 				status = "disabled";
 
 				uart12: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <33 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -576,7 +576,7 @@  flx6: flexcom@f8010000 {
 				status = "disabled";
 
 				uart6: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <9 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -625,7 +625,7 @@  flx7: flexcom@f8014000 {
 				status = "disabled";
 
 				uart7: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <10 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -674,7 +674,7 @@  flx8: flexcom@f8018000 {
 				status = "disabled";
 
 				uart8: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <11 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -723,7 +723,7 @@  flx0: flexcom@f801c000 {
 				status = "disabled";
 
 				uart0: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <5 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -791,7 +791,7 @@  flx1: flexcom@f8020000 {
 				status = "disabled";
 
 				uart1: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <6 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -859,7 +859,7 @@  flx2: flexcom@f8024000 {
 				status = "disabled";
 
 				uart2: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <7 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -927,7 +927,7 @@  flx3: flexcom@f8028000 {
 				status = "disabled";
 
 				uart3: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <8 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -1050,7 +1050,7 @@  flx9: flexcom@f8040000 {
 				status = "disabled";
 
 				uart9: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <15 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0
@@ -1099,7 +1099,7 @@  flx10: flexcom@f8044000 {
 				status = "disabled";
 
 				uart10: serial@200 {
-					compatible = "microchip,sam9x60-dbgu", "microchip,sam9x60-usart", "atmel,at91sam9260-dbgu", "atmel,at91sam9260-usart";
+					compatible = "microchip,sam9x60-usart", "atmel,at91sam9260-usart";
 					reg = <0x200 0x200>;
 					interrupts = <16 IRQ_TYPE_LEVEL_HIGH 7>;
 					dmas = <&dma0