[PATCH 1/1] arm64: dts: lx2160a: Normalize the compatible string of "arm, sbsa-uart"

Leizhen (ThunderTown) thunder.leizhen at huawei.com
Tue Jun 15 04:38:15 PDT 2021



On 2021/6/12 18:11, Mark Kettenis wrote:
>> Date: Sat, 12 Jun 2021 10:10:58 +0800
>> From: Shawn Guo <shawnguo at kernel.org>
>>
>> On Tue, May 25, 2021 at 10:00:30AM +0800, Leizhen (ThunderTown) wrote:
>>>
>>>
>>> On 2021/5/25 1:36, Mark Kettenis wrote:
>>>>> From: Zhen Lei <thunder.leizhen at huawei.com>
>>>>> Date: Mon, 24 May 2021 11:52:44 +0800
>>>>> Content-Type: text/plain; charset="us-ascii"
>>>>>
>>>>> The compatible string of ARM SBSA defined generic UART needs to contain
>>>>> only "arm,sbsa-uart" and does not need to contain "arm,pl011". Otherwise,
>>>>> the pl011.yaml will check it and falsely report many warnings similar to
>>>>> the following:
>>>>>
>>>>> arch/arm64/boot/dts/freescale/fsl-lx2160a-clearfog-cx.dt.yaml:
>>>>>  serial at 21c0000: compatible:0: 'arm,pl011' was expected
>>>>>  serial at 21c0000: compatible:1: 'arm,primecell' was expected
>>>>>
>>>>> Delete the redundant "arm,pl011" to fix it.
>>>>
>>>> According to its reference manual, the LX2160A has a full PL011
>>>> implementation.  So I think this is the wrong "fix".
>>>
>>> No, No, Please refer: https://www.spinics.net/lists/devicetree/msg424054.html
>>>
>>> Now the "arm,sbsa-uart" driver is mixed with amba-pl011.c,It's impossible
>>> "arm,pl011" is loaded but "arm,sbsa-uart" is not loaded. So it makes no sense
>>> to append "arm, pl011" to the end of the compatible string as an alternative
>>> driver.
>>>
>>> drivers/tty/serial/amba-pl011.c:2784:       { .compatible = "arm,sbsa-uart", },
>>
>> I guess Mark is suggesting the following fix.
>>
>>                 uart0: serial at 21c0000 {
>> -                       compatible = "arm,sbsa-uart","arm,pl011";
>> +                       compatible = "arm,pl011", "arm,primecell";
>>                         reg = <0x0 0x21c0000 0x0 0x1000>;
>>                         interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
>> -                       current-speed = <115200>;
>>                         status = "disabled";
>>                 };
>>
>> I copied some folks who might help clarify whether LX2160A UART is a SBSA
>> or a full PL011.
> 
> Sorry, I missed Leizhen's original reply.  But yes, that is what I
> meant.  According to the NXP documentation, the LX2160A has a real
> PL011 UART, so the correct fix is what Shawn suggests above.

Okay, so I'll prepare v2 on the advice of Shawn.

> 
> Cheers,
> 
> Mark
> 
>>>>> Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
>>>>> ---
>>>>>  arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi | 8 ++++----
>>>>>  1 file changed, 4 insertions(+), 4 deletions(-)
>>>>>
>>>>> diff --git a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
>>>>> index 4fcc869c21a4..417546616d85 100644
>>>>> --- a/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
>>>>> +++ b/arch/arm64/boot/dts/freescale/fsl-lx2160a.dtsi
>>>>> @@ -920,7 +920,7 @@
>>>>>  		};
>>>>>  
>>>>>  		uart0: serial at 21c0000 {
>>>>> -			compatible = "arm,sbsa-uart","arm,pl011";
>>>>> +			compatible = "arm,sbsa-uart";
>>>>>  			reg = <0x0 0x21c0000 0x0 0x1000>;
>>>>>  			interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
>>>>>  			current-speed = <115200>;
>>>>> @@ -928,7 +928,7 @@
>>>>>  		};
>>>>>  
>>>>>  		uart1: serial at 21d0000 {
>>>>> -			compatible = "arm,sbsa-uart","arm,pl011";
>>>>> +			compatible = "arm,sbsa-uart";
>>>>>  			reg = <0x0 0x21d0000 0x0 0x1000>;
>>>>>  			interrupts = <GIC_SPI 33 IRQ_TYPE_LEVEL_HIGH>;
>>>>>  			current-speed = <115200>;
>>>>> @@ -936,7 +936,7 @@
>>>>>  		};
>>>>>  
>>>>>  		uart2: serial at 21e0000 {
>>>>> -			compatible = "arm,sbsa-uart","arm,pl011";
>>>>> +			compatible = "arm,sbsa-uart";
>>>>>  			reg = <0x0 0x21e0000 0x0 0x1000>;
>>>>>  			interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
>>>>>  			current-speed = <115200>;
>>>>> @@ -944,7 +944,7 @@
>>>>>  		};
>>>>>  
>>>>>  		uart3: serial at 21f0000 {
>>>>> -			compatible = "arm,sbsa-uart","arm,pl011";
>>>>> +			compatible = "arm,sbsa-uart";
>>>>>  			reg = <0x0 0x21f0000 0x0 0x1000>;
>>>>>  			interrupts = <GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>;
>>>>>  			current-speed = <115200>;
>>>>> -- 
>>>>> 2.21.1
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> linux-arm-kernel mailing list
>>>>> linux-arm-kernel at lists.infradead.org
>>>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
>>>>>
>>>>
>>>> .
>>>>
>>>
>>
> 
> .
> 




More information about the linux-arm-kernel mailing list