2023-07-18 07:30:29

by Durai Manickam KR

[permalink] [raw]
Subject: [PATCHv3 2/2] ARM: dts: at91: sam9x60: fix the SOC detection

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 <[email protected]>
---
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



2023-07-31 16:09:52

by Alexander Dahl

[permalink] [raw]
Subject: Re: [PATCHv3 2/2] ARM: dts: at91: sam9x60: fix the SOC detection

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 <[email protected]>

Acked-by: Alexander Dahl <[email protected]>

(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
>