Thread (2 messages) read the whole thread 2 messages, 2 authors, 2021-06-15

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

From: Leizhen (ThunderTown) <hidden>
Date: 2021-06-15 11:38:22
Also in: linux-arm-kernel


On 2021/6/12 18:11, Mark Kettenis wrote:
quoted
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.
Okay, so I'll prepare v2 on the advice of Shawn.
Cheers,

Mark
quoted
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
.
.
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help