[PATCH] ARM: dts: at91: sam9x60: fix the SOC detection

Conor Dooley conor at kernel.org
Wed Jul 12 11:43:51 PDT 2023


Hey,

On Wed, Jul 12, 2023 at 03:30:42PM +0530, Durai Manickam KR wrote:
> Remove the dbgu compatible strings in the UART submodule of the
> flexcom for the proper SOC detection.

I am afraid that I do not understand what this means. The first
compatible, before and after your patch, is a sam9x60 one, so I don't
see how the SoC comes into it. Grepping to try and understand:
rg microchip,sam9x60-usart drivers/

rg microchip,sam9x60-dbgu drivers/

rg atmel,at91sam9260-dbgu drivers/
drivers/soc/atmel/soc.c
259:					     "atmel,at91sam9260-dbgu");

rg atmel,at91sam9260-usart drivers/
drivers/tty/serial/atmel_serial.c
2723:OF_EARLYCON_DECLARE(atmel_serial, "atmel,at91sam9260-usart",

drivers/mfd/at91-usart.c
50:	{ .compatible = "atmel,at91sam9260-usart" },

It looks like you are trying to avoid the atmel soc driver from
detecting the atmel,at91sam9260-dbgu compatible?
Is this not actually compatible with the sam9260's debug uart?

Please try to explain things in more detail so that people unfamiliar
with at91 hardware are not confused. As an outsider, removing
compatibles to fix detection seems like it would not work - the sam9x60
compatibles are first in the list. To me it seems like this removes,
rather than fixes detection, and to fix detection you would need to
make some changes to the driver?

Also, the binding says:
      - items:
          - const: microchip,sam9x60-dbgu
          - const: microchip,sam9x60-usart
          - const: atmel,at91sam9260-dbgu
          - const: atmel,at91sam9260-usart

Your patch here makes the dts non-compliant with the bindings, as far as
I can tell, so you will need to go and modify the bindings to do this
either way.

Thanks,
Conor.

> 
> Fixes: 99c808335877 (ARM: dts: at91: sam9x60: Add missing flexcom definitions)
> Signed-off-by: Durai Manickam KR <durai.manickamkr at microchip.com>
> ---
>  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 at f0000000 {
>  				status = "disabled";
>  
>  				uart4: serial at 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 at f0004000 {
>  				status = "disabled";
>  
>  				uart5: serial at 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 at f0020000 {
>  				status = "disabled";
>  
>  				uart11: serial at 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 at f0024000 {
>  				status = "disabled";
>  
>  				uart12: serial at 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 at f8010000 {
>  				status = "disabled";
>  
>  				uart6: serial at 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 at f8014000 {
>  				status = "disabled";
>  
>  				uart7: serial at 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 at f8018000 {
>  				status = "disabled";
>  
>  				uart8: serial at 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 at f801c000 {
>  				status = "disabled";
>  
>  				uart0: serial at 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 at f8020000 {
>  				status = "disabled";
>  
>  				uart1: serial at 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 at f8024000 {
>  				status = "disabled";
>  
>  				uart2: serial at 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 at f8028000 {
>  				status = "disabled";
>  
>  				uart3: serial at 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 at f8040000 {
>  				status = "disabled";
>  
>  				uart9: serial at 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 at f8044000 {
>  				status = "disabled";
>  
>  				uart10: serial at 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
> 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 228 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20230712/8a21056c/attachment.sig>


More information about the linux-arm-kernel mailing list