Re: [PATCH 1/1] arm64: dts: lx2160a: Normalize the compatible string of "arm, sbsa-uart"
From: Mark Kettenis <hidden>
Date: 2021-06-12 10:11:12
Date: Sat, 12 Jun 2021 10:10:58 +0800 From: Shawn Guo <shawnguo@kernel.org> On Tue, May 25, 2021 at 10:00:30AM +0800, Leizhen (ThunderTown) wrote:quoted
On 2021/5/25 1:36, Mark Kettenis wrote:quoted
quoted
From: Zhen Lei <redacted> 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. Cheers, Mark
quoted
quoted
quoted
Signed-off-by: Zhen Lei <redacted> --- 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@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel.