On 2021/6/12 18:11, Mark Kettenis wrote: >> Date: Sat, 12 Jun 2021 10:10:58 +0800 >> From: Shawn Guo <shawnguo@xxxxxxxxxx> >> >> 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@xxxxxxxxxx> >>>>> 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@21c0000: compatible:0: 'arm,pl011' was expected >>>>> serial@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@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@xxxxxxxxxx> >>>>> --- >>>>> 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@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@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@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@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@xxxxxxxxxxxxxxxxxxx >>>>> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel >>>>> >>>> >>>> . >>>> >>> >> > > . >