linux-serial.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/10] NS 8250 UART Device Tree improvements
@ 2020-03-20 17:40 Lubomir Rintel
  2020-03-20 17:40 ` [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references Lubomir Rintel
                   ` (10 more replies)
  0 siblings, 11 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree

Hi,

this series aims to make it possible to validate NS 8250 compatible serial port 
nodes in Device Tree. It ultimately ends up converting the 8250.txt binding
specification to YAML for json-schema.

It starts by fixing up a couple of issues that would fail validation of
device trees for various boards. Note there might be validation issues in other
boards -- I don't have computing power to run "make dtbs_check" with
CONFIG_OF_ALL_DTBS=y at the moment. I'm happy to fix up issues if somebody
runs the test output to me.

Unless someone has a different idea, I'd like to submit this to arm-soc once
I get the Acks from PXA and Tango maintainers as well as DT reviewers:

  [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references
  [PATCH 02/10] ARM: dts: pxa*: Fix serial port names
  [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with
  [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle
  [PATCH 05/10] ARM: dts: mmp*: Fix serial port names
  [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with
  [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a

What follows is a large yet straightforward fixup of similar nature for PowerPC.
I'd be thankful if PowerPC maintainers could pick this patch up.

  [PATCH 08/10] powerpc/fsl: Make serial ports compatible with ns16550a

Then follows folding of mrvl-serial.txt into 8250.txt (the Marvell serial
port is in fact an XScale UART, a variation of 8250) and the actual
conversion. Perhaps the best route these patches could take via the tty
tree.

  [PATCH 09/10] dt-bindings: serial: Move Marvell compatible string to
  [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema

Thanks,
Lubo



^ permalink raw reply	[flat|nested] 15+ messages in thread

* [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
@ 2020-03-20 17:40 ` Lubomir Rintel
  2020-03-20 17:40 ` [PATCH 02/10] ARM: dts: pxa*: Fix serial port names Lubomir Rintel
                   ` (9 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

Extend the nodes by their phandle references instead of recreating the
tree and declaring references of the same names.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/pxa168-aspenite.dts |  26 ++-
 arch/arm/boot/dts/pxa910-dkb.dts      | 288 +++++++++++++-------------
 2 files changed, 155 insertions(+), 159 deletions(-)

diff --git a/arch/arm/boot/dts/pxa168-aspenite.dts b/arch/arm/boot/dts/pxa168-aspenite.dts
index 2ad40e373194c..8bade6bf395b3 100644
--- a/arch/arm/boot/dts/pxa168-aspenite.dts
+++ b/arch/arm/boot/dts/pxa168-aspenite.dts
@@ -18,18 +18,16 @@ chosen {
 	memory {
 		reg = <0x00000000 0x04000000>;
 	};
-
-	soc {
-		apb@d4000000 {
-			uart1: uart@d4017000 {
-				status = "okay";
-			};
-			twsi1: i2c@d4011000 {
-				status = "okay";
-			};
-			rtc: rtc@d4010000 {
-				status = "okay";
-			};
-		};
-	};
+};
+
+&uart1 {
+	status = "okay";
+};
+
+&twsi1 {
+	status = "okay";
+};
+
+&rtc {
+	status = "okay";
 };
diff --git a/arch/arm/boot/dts/pxa910-dkb.dts b/arch/arm/boot/dts/pxa910-dkb.dts
index 0f899e672e824..ce76158867c7f 100644
--- a/arch/arm/boot/dts/pxa910-dkb.dts
+++ b/arch/arm/boot/dts/pxa910-dkb.dts
@@ -18,155 +18,153 @@ chosen {
 	memory {
 		reg = <0x00000000 0x10000000>;
 	};
+};
 
-	soc {
-		apb@d4000000 {
-			uart1: uart@d4017000 {
-				status = "okay";
+&uart1 {
+	status = "okay";
+};
+
+&twsi1 {
+	status = "okay";
+
+	pmic: 88pm860x@34 {
+		compatible = "marvell,88pm860x";
+		reg = <0x34>;
+		interrupts = <4>;
+		interrupt-parent = <&intc>;
+		interrupt-controller;
+		#interrupt-cells = <1>;
+
+		marvell,88pm860x-irq-read-clr;
+		marvell,88pm860x-slave-addr = <0x11>;
+
+		regulators {
+			BUCK1 {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
 			};
-			twsi1: i2c@d4011000 {
-				status = "okay";
-
-				pmic: 88pm860x@34 {
-					compatible = "marvell,88pm860x";
-					reg = <0x34>;
-					interrupts = <4>;
-					interrupt-parent = <&intc>;
-					interrupt-controller;
-					#interrupt-cells = <1>;
-
-					marvell,88pm860x-irq-read-clr;
-					marvell,88pm860x-slave-addr = <0x11>;
-
-					regulators {
-						BUCK1 {
-							regulator-min-microvolt = <1000000>;
-							regulator-max-microvolt = <1500000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						BUCK2 {
-							regulator-min-microvolt = <1000000>;
-							regulator-max-microvolt = <1500000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						BUCK3 {
-							regulator-min-microvolt = <1000000>;
-							regulator-max-microvolt = <3000000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO1 {
-							regulator-min-microvolt = <1200000>;
-							regulator-max-microvolt = <2800000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO2 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO3 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO4 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-always-on;
-						};
-						LDO5 {
-							regulator-min-microvolt = <2900000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO6 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO7 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <2900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO8 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <2900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO9 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO10 {
-							regulator-min-microvolt = <1200000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO12 {
-							regulator-min-microvolt = <1200000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-always-on;
-						};
-						LDO13 {
-							regulator-min-microvolt = <1200000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-always-on;
-						};
-						LDO14 {
-							regulator-min-microvolt = <1800000>;
-							regulator-max-microvolt = <3300000>;
-							regulator-always-on;
-						};
-					};
-					rtc {
-						marvell,88pm860x-vrtc = <1>;
-					};
-					touch {
-						marvell,88pm860x-gpadc-prebias = <1>;
-						marvell,88pm860x-gpadc-slot-cycle = <1>;
-						marvell,88pm860x-tsi-prebias = <6>;
-						marvell,88pm860x-pen-prebias = <16>;
-						marvell,88pm860x-pen-prechg = <2>;
-						marvell,88pm860x-resistor-X = <300>;
-					};
-					backlights {
-						backlight-0 {
-							marvell,88pm860x-iset = <4>;
-							marvell,88pm860x-pwm = <3>;
-						};
-						backlight-2 {
-						};
-					};
-					leds {
-						led0-red {
-							marvell,88pm860x-iset = <12>;
-						};
-						led0-green {
-							marvell,88pm860x-iset = <12>;
-						};
-						led0-blue {
-							marvell,88pm860x-iset = <12>;
-						};
-					};
-				};
+			BUCK2 {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <1500000>;
+				regulator-boot-on;
+				regulator-always-on;
 			};
-			rtc: rtc@d4010000 {
-				status = "okay";
+			BUCK3 {
+				regulator-min-microvolt = <1000000>;
+				regulator-max-microvolt = <3000000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO1 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <2800000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO2 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO3 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO4 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+			LDO5 {
+				regulator-min-microvolt = <2900000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO6 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO7 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <2900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO8 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <2900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO9 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO10 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO12 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+			LDO13 {
+				regulator-min-microvolt = <1200000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+			LDO14 {
+				regulator-min-microvolt = <1800000>;
+				regulator-max-microvolt = <3300000>;
+				regulator-always-on;
+			};
+		};
+		rtc {
+			marvell,88pm860x-vrtc = <1>;
+		};
+		touch {
+			marvell,88pm860x-gpadc-prebias = <1>;
+			marvell,88pm860x-gpadc-slot-cycle = <1>;
+			marvell,88pm860x-tsi-prebias = <6>;
+			marvell,88pm860x-pen-prebias = <16>;
+			marvell,88pm860x-pen-prechg = <2>;
+			marvell,88pm860x-resistor-X = <300>;
+		};
+		backlights {
+			backlight-0 {
+				marvell,88pm860x-iset = <4>;
+				marvell,88pm860x-pwm = <3>;
+			};
+			backlight-2 {
+			};
+		};
+		leds {
+			led0-red {
+				marvell,88pm860x-iset = <12>;
+			};
+			led0-green {
+				marvell,88pm860x-iset = <12>;
+			};
+			led0-blue {
+				marvell,88pm860x-iset = <12>;
 			};
 		};
 	};
 };
+
+&rtc {
+	status = "okay";
+};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 02/10] ARM: dts: pxa*: Fix serial port names
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
  2020-03-20 17:40 ` [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references Lubomir Rintel
@ 2020-03-20 17:40 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with xscale-uart Lubomir Rintel
                   ` (8 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:40 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

There's a preferred node name for serial ports, and it's not "uart":

  pxa910-dkb.dt.yaml: uart@d4017000: $nodename:0: 'uart@d4017000'
      does not match '^serial(@[0-9a-f,]+)*$'
  ...

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/pxa168.dtsi | 6 +++---
 arch/arm/boot/dts/pxa910.dtsi | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
index 72f8cb60cb531..41dc79c9f6320 100644
--- a/arch/arm/boot/dts/pxa168.dtsi
+++ b/arch/arm/boot/dts/pxa168.dtsi
@@ -55,7 +55,7 @@ timer0: timer@d4014000 {
 				interrupts = <13>;
 			};
 
-			uart1: uart@d4017000 {
+			uart1: serial@d4017000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
@@ -64,7 +64,7 @@ uart1: uart@d4017000 {
 				status = "disabled";
 			};
 
-			uart2: uart@d4018000 {
+			uart2: serial@d4018000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
@@ -73,7 +73,7 @@ uart2: uart@d4018000 {
 				status = "disabled";
 			};
 
-			uart3: uart@d4026000 {
+			uart3: serial@d4026000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4026000 0x1000>;
 				interrupts = <29>;
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
index b3d6182d4de4a..209b1f0ea67b2 100644
--- a/arch/arm/boot/dts/pxa910.dtsi
+++ b/arch/arm/boot/dts/pxa910.dtsi
@@ -67,7 +67,7 @@ timer1: timer@d4016000 {
 				status = "disabled";
 			};
 
-			uart1: uart@d4017000 {
+			uart1: serial@d4017000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <27>;
@@ -76,7 +76,7 @@ uart1: uart@d4017000 {
 				status = "disabled";
 			};
 
-			uart2: uart@d4018000 {
+			uart2: serial@d4018000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <28>;
@@ -85,7 +85,7 @@ uart2: uart@d4018000 {
 				status = "disabled";
 			};
 
-			uart3: uart@d4036000 {
+			uart3: serial@d4036000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4036000 0x1000>;
 				interrupts = <59>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with xscale-uart
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
  2020-03-20 17:40 ` [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references Lubomir Rintel
  2020-03-20 17:40 ` [PATCH 02/10] ARM: dts: pxa*: Fix serial port names Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle references Lubomir Rintel
                   ` (7 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

Some drivers that claim to support mrvl,mmp-uart default to a reg-shift
of two, some don't. Be explicit to be on a safe side.

With that in place, a XScale serial port driver is perfectly capable of
supporting the MMP serial port. Add a compatible string.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/pxa168.dtsi | 9 ++++++---
 arch/arm/boot/dts/pxa910.dtsi | 9 ++++++---
 2 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/pxa168.dtsi b/arch/arm/boot/dts/pxa168.dtsi
index 41dc79c9f6320..9a9e38245e88c 100644
--- a/arch/arm/boot/dts/pxa168.dtsi
+++ b/arch/arm/boot/dts/pxa168.dtsi
@@ -56,8 +56,9 @@ timer0: timer@d4014000 {
 			};
 
 			uart1: serial@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4017000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <27>;
 				clocks = <&soc_clocks PXA168_CLK_UART0>;
 				resets = <&soc_clocks PXA168_CLK_UART0>;
@@ -65,8 +66,9 @@ uart1: serial@d4017000 {
 			};
 
 			uart2: serial@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4018000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <28>;
 				clocks = <&soc_clocks PXA168_CLK_UART1>;
 				resets = <&soc_clocks PXA168_CLK_UART1>;
@@ -74,8 +76,9 @@ uart2: serial@d4018000 {
 			};
 
 			uart3: serial@d4026000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4026000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <29>;
 				clocks = <&soc_clocks PXA168_CLK_UART2>;
 				resets = <&soc_clocks PXA168_CLK_UART2>;
diff --git a/arch/arm/boot/dts/pxa910.dtsi b/arch/arm/boot/dts/pxa910.dtsi
index 209b1f0ea67b2..587a5e7f0702f 100644
--- a/arch/arm/boot/dts/pxa910.dtsi
+++ b/arch/arm/boot/dts/pxa910.dtsi
@@ -68,8 +68,9 @@ timer1: timer@d4016000 {
 			};
 
 			uart1: serial@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4017000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <27>;
 				clocks = <&soc_clocks PXA910_CLK_UART0>;
 				resets = <&soc_clocks PXA910_CLK_UART0>;
@@ -77,8 +78,9 @@ uart1: serial@d4017000 {
 			};
 
 			uart2: serial@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4018000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <28>;
 				clocks = <&soc_clocks PXA910_CLK_UART1>;
 				resets = <&soc_clocks PXA910_CLK_UART1>;
@@ -86,8 +88,9 @@ uart2: serial@d4018000 {
 			};
 
 			uart3: serial@d4036000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4036000 0x1000>;
+				reg-shift = <2>;
 				interrupts = <59>;
 				clocks = <&soc_clocks PXA910_CLK_UART2>;
 				resets = <&soc_clocks PXA910_CLK_UART2>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle references
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (2 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with xscale-uart Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 05/10] ARM: dts: mmp*: Fix serial port names Lubomir Rintel
                   ` (6 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

Extend the nodes by their phandle references instead of recreating the
tree and declaring references of the same names.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/mmp2-brownstone.dts | 330 +++++++++++++-------------
 1 file changed, 164 insertions(+), 166 deletions(-)

diff --git a/arch/arm/boot/dts/mmp2-brownstone.dts b/arch/arm/boot/dts/mmp2-brownstone.dts
index aaedc4c742ea5..04f1ae1382e7a 100644
--- a/arch/arm/boot/dts/mmp2-brownstone.dts
+++ b/arch/arm/boot/dts/mmp2-brownstone.dts
@@ -19,176 +19,174 @@ memory {
 		device_type = "memory";
 		reg = <0x00000000 0x08000000>;
 	};
+};
 
-	soc {
-		apb@d4000000 {
-			uart3: uart@d4018000 {
-				status = "okay";
-			};
-			twsi1: i2c@d4011000 {
-				status = "okay";
-				pmic: max8925@3c {
-					compatible = "maxium,max8925";
-					reg = <0x3c>;
-					interrupts = <1>;
-					interrupt-parent = <&intcmux4>;
-					interrupt-controller;
-					#interrupt-cells = <1>;
-					maxim,tsc-irq = <0>;
+&uart3 {
+	status = "okay";
+};
 
-					regulators {
-						SDV1 {
-							regulator-min-microvolt = <637500>;
-							regulator-max-microvolt = <1425000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						SDV2 {
-							regulator-min-microvolt = <650000>;
-							regulator-max-microvolt = <2225000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						SDV3 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO1 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO2 {
-							regulator-min-microvolt = <650000>;
-							regulator-max-microvolt = <2250000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO3 {
-							regulator-min-microvolt = <650000>;
-							regulator-max-microvolt = <2250000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO4 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO5 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO6 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO7 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO8 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO9 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO10 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-						};
-						LDO11 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO12 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO13 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO14 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO15 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO16 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO17 {
-							regulator-min-microvolt = <650000>;
-							regulator-max-microvolt = <2250000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO18 {
-							regulator-min-microvolt = <650000>;
-							regulator-max-microvolt = <2250000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO19 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-						LDO20 {
-							regulator-min-microvolt = <750000>;
-							regulator-max-microvolt = <3900000>;
-							regulator-boot-on;
-							regulator-always-on;
-						};
-					};
-					backlight {
-						maxim,max8925-dual-string = <0>;
-					};
-					charger {
-						batt-detect = <0>;
-						topoff-threshold = <1>;
-						fast-charge = <7>;
-						no-temp-support = <0>;
-						no-insert-detect = <0>;
-					};
-				};
+&twsi1 {
+	status = "okay";
+	pmic: max8925@3c {
+		compatible = "maxium,max8925";
+		reg = <0x3c>;
+		interrupts = <1>;
+		interrupt-parent = <&intcmux4>;
+		interrupt-controller;
+		#interrupt-cells = <1>;
+		maxim,tsc-irq = <0>;
+
+		regulators {
+			SDV1 {
+				regulator-min-microvolt = <637500>;
+				regulator-max-microvolt = <1425000>;
+				regulator-boot-on;
+				regulator-always-on;
 			};
-			rtc: rtc@d4010000 {
-				status = "okay";
+			SDV2 {
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2225000>;
+				regulator-boot-on;
+				regulator-always-on;
 			};
+			SDV3 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO1 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO2 {
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2250000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO3 {
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2250000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO4 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO5 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO6 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO7 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO8 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO9 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO10 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+			};
+			LDO11 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO12 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO13 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO14 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO15 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO16 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO17 {
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2250000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO18 {
+				regulator-min-microvolt = <650000>;
+				regulator-max-microvolt = <2250000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO19 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+			LDO20 {
+				regulator-min-microvolt = <750000>;
+				regulator-max-microvolt = <3900000>;
+				regulator-boot-on;
+				regulator-always-on;
+			};
+		};
+		backlight {
+			maxim,max8925-dual-string = <0>;
+		};
+		charger {
+			batt-detect = <0>;
+			topoff-threshold = <1>;
+			fast-charge = <7>;
+			no-temp-support = <0>;
+			no-insert-detect = <0>;
 		};
 	};
 };
+
+&rtc {
+	status = "okay";
+};
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 05/10] ARM: dts: mmp*: Fix serial port names
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (3 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle references Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with xscale-uart Lubomir Rintel
                   ` (5 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

A preferred node name for serial ports is "serial":

  mmp2-olpc-xo-1-75.dt.yaml: uart@d4030000: $nodename:0: 'uart@d4030000'
      does not match '^serial(@[0-9a-f,]+)*$'
  ...

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/mmp2.dtsi | 8 ++++----
 arch/arm/boot/dts/mmp3.dtsi | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 6a2f072c1d0a8..45372df0ec2ad 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -208,7 +208,7 @@ timer0: timer@d4014000 {
 				clocks = <&soc_clocks MMP2_CLK_TIMER>;
 			};
 
-			uart1: uart@d4030000 {
+			uart1: serial@d4030000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <27>;
@@ -218,7 +218,7 @@ uart1: uart@d4030000 {
 				status = "disabled";
 			};
 
-			uart2: uart@d4017000 {
+			uart2: serial@d4017000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <28>;
@@ -228,7 +228,7 @@ uart2: uart@d4017000 {
 				status = "disabled";
 			};
 
-			uart3: uart@d4018000 {
+			uart3: serial@d4018000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <24>;
@@ -238,7 +238,7 @@ uart3: uart@d4018000 {
 				status = "disabled";
 			};
 
-			uart4: uart@d4016000 {
+			uart4: serial@d4016000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <46>;
diff --git a/arch/arm/boot/dts/mmp3.dtsi b/arch/arm/boot/dts/mmp3.dtsi
index 59a108e49b41e..7a5b9962497e4 100644
--- a/arch/arm/boot/dts/mmp3.dtsi
+++ b/arch/arm/boot/dts/mmp3.dtsi
@@ -318,7 +318,7 @@ timer: timer@d4014000 {
 				clocks = <&soc_clocks MMP2_CLK_TIMER>;
 			};
 
-			uart1: uart@d4030000 {
+			uart1: serial@d4030000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
@@ -328,7 +328,7 @@ uart1: uart@d4030000 {
 				status = "disabled";
 			};
 
-			uart2: uart@d4017000 {
+			uart2: serial@d4017000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
@@ -338,7 +338,7 @@ uart2: uart@d4017000 {
 				status = "disabled";
 			};
 
-			uart3: uart@d4018000 {
+			uart3: serial@d4018000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
@@ -348,7 +348,7 @@ uart3: uart@d4018000 {
 				status = "disabled";
 			};
 
-			uart4: uart@d4016000 {
+			uart4: serial@d4016000 {
 				compatible = "mrvl,mmp-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with xscale-uart
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (4 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 05/10] ARM: dts: mmp*: Fix serial port names Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a Lubomir Rintel
                   ` (4 subsequent siblings)
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

XScale serial port driver is perfectly capable of supporting this hardware. A
separate compatible string is probably a historical mess.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/mmp2.dtsi | 8 ++++----
 arch/arm/boot/dts/mmp3.dtsi | 8 ++++----
 2 files changed, 8 insertions(+), 8 deletions(-)

diff --git a/arch/arm/boot/dts/mmp2.dtsi b/arch/arm/boot/dts/mmp2.dtsi
index 45372df0ec2ad..da10567b5aca6 100644
--- a/arch/arm/boot/dts/mmp2.dtsi
+++ b/arch/arm/boot/dts/mmp2.dtsi
@@ -209,7 +209,7 @@ timer0: timer@d4014000 {
 			};
 
 			uart1: serial@d4030000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <27>;
 				clocks = <&soc_clocks MMP2_CLK_UART0>;
@@ -219,7 +219,7 @@ uart1: serial@d4030000 {
 			};
 
 			uart2: serial@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <28>;
 				clocks = <&soc_clocks MMP2_CLK_UART1>;
@@ -229,7 +229,7 @@ uart2: serial@d4017000 {
 			};
 
 			uart3: serial@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <24>;
 				clocks = <&soc_clocks MMP2_CLK_UART2>;
@@ -239,7 +239,7 @@ uart3: serial@d4018000 {
 			};
 
 			uart4: serial@d4016000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <46>;
 				clocks = <&soc_clocks MMP2_CLK_UART3>;
diff --git a/arch/arm/boot/dts/mmp3.dtsi b/arch/arm/boot/dts/mmp3.dtsi
index 7a5b9962497e4..9b5087a95e736 100644
--- a/arch/arm/boot/dts/mmp3.dtsi
+++ b/arch/arm/boot/dts/mmp3.dtsi
@@ -319,7 +319,7 @@ timer: timer@d4014000 {
 			};
 
 			uart1: serial@d4030000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4030000 0x1000>;
 				interrupts = <GIC_SPI 27 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&soc_clocks MMP2_CLK_UART0>;
@@ -329,7 +329,7 @@ uart1: serial@d4030000 {
 			};
 
 			uart2: serial@d4017000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4017000 0x1000>;
 				interrupts = <GIC_SPI 28 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&soc_clocks MMP2_CLK_UART1>;
@@ -339,7 +339,7 @@ uart2: serial@d4017000 {
 			};
 
 			uart3: serial@d4018000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4018000 0x1000>;
 				interrupts = <GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&soc_clocks MMP2_CLK_UART2>;
@@ -349,7 +349,7 @@ uart3: serial@d4018000 {
 			};
 
 			uart4: serial@d4016000 {
-				compatible = "mrvl,mmp-uart";
+				compatible = "mrvl,mmp-uart", "intel,xscale-uart";
 				reg = <0xd4016000 0x1000>;
 				interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
 				clocks = <&soc_clocks MMP2_CLK_UART3>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (5 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with xscale-uart Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-21 11:11   ` Måns Rullgård
  2020-03-20 17:41 ` [PATCH 08/10] powerpc/fsl: Make serial ports " Lubomir Rintel
                   ` (3 subsequent siblings)
  10 siblings, 1 reply; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

ralink,rt2880-uart is compatible with ns16550a and all other
instances of RT2880 UART nodes include it in the compatible property.
Add it also here, to make the binding schema simpler.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/arm/boot/dts/tango4-common.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/tango4-common.dtsi b/arch/arm/boot/dts/tango4-common.dtsi
index ff72a8efb73d0..54fd522badfc9 100644
--- a/arch/arm/boot/dts/tango4-common.dtsi
+++ b/arch/arm/boot/dts/tango4-common.dtsi
@@ -85,7 +85,7 @@ tick-counter@10048 {
 		};
 
 		uart: serial@10700 {
-			compatible = "ralink,rt2880-uart";
+			compatible = "ralink,rt2880-uart", "ns16550a";
 			reg = <0x10700 0x30>;
 			interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
 			clock-frequency = <7372800>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 08/10] powerpc/fsl: Make serial ports compatible with ns16550a
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (6 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-23 17:59   ` Rob Herring
  2020-03-20 17:41 ` [PATCH 09/10] dt-bindings: serial: Move Marvell compatible string to 8250 binding doc Lubomir Rintel
                   ` (2 subsequent siblings)
  10 siblings, 1 reply; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

There are separate compatible strings for ns16550 and ns16550a and the
Freescale serial port is compatible with the latter one, with working
FIFO.

Use the appropriate compatible string that is also consistent with ARM64
Freescale boards and thus avoiding one special case in the binding schema.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 arch/powerpc/boot/dts/asp834x-redboot.dts  | 4 ++--
 arch/powerpc/boot/dts/kmeter1.dts          | 2 +-
 arch/powerpc/boot/dts/kuroboxHD.dts        | 4 ++--
 arch/powerpc/boot/dts/kuroboxHG.dts        | 4 ++--
 arch/powerpc/boot/dts/mpc8308_p1m.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8308rdb.dts       | 4 ++--
 arch/powerpc/boot/dts/mpc8313erdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8315erdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc832x_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc832x_rdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8349emitx.dts     | 4 ++--
 arch/powerpc/boot/dts/mpc8349emitxgp.dts   | 4 ++--
 arch/powerpc/boot/dts/mpc834x_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc836x_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc836x_rdk.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8377_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8377_rdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8377_wlan.dts     | 4 ++--
 arch/powerpc/boot/dts/mpc8378_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8378_rdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8379_mds.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8379_rdb.dts      | 4 ++--
 arch/powerpc/boot/dts/mpc8610_hpcd.dts     | 4 ++--
 arch/powerpc/boot/dts/socrates.dts         | 4 ++--
 arch/powerpc/boot/dts/storcenter.dts       | 4 ++--
 arch/powerpc/boot/dts/stxssa8555.dts       | 4 ++--
 arch/powerpc/boot/dts/tqm8540.dts          | 4 ++--
 arch/powerpc/boot/dts/tqm8541.dts          | 4 ++--
 arch/powerpc/boot/dts/tqm8548-bigflash.dts | 4 ++--
 arch/powerpc/boot/dts/tqm8548.dts          | 4 ++--
 arch/powerpc/boot/dts/tqm8555.dts          | 4 ++--
 arch/powerpc/boot/dts/xcalibur1501.dts     | 4 ++--
 arch/powerpc/boot/dts/xpedite5200.dts      | 4 ++--
 arch/powerpc/boot/dts/xpedite5200_xmon.dts | 4 ++--
 arch/powerpc/boot/dts/xpedite5301.dts      | 4 ++--
 arch/powerpc/boot/dts/xpedite5330.dts      | 4 ++--
 arch/powerpc/boot/dts/xpedite5370.dts      | 4 ++--
 37 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/arch/powerpc/boot/dts/asp834x-redboot.dts b/arch/powerpc/boot/dts/asp834x-redboot.dts
index 52a84561c4f07..fea08278e4ce0 100644
--- a/arch/powerpc/boot/dts/asp834x-redboot.dts
+++ b/arch/powerpc/boot/dts/asp834x-redboot.dts
@@ -250,7 +250,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <400000000>;
 			interrupts = <9 0x8>;
@@ -260,7 +260,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <400000000>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/kmeter1.dts b/arch/powerpc/boot/dts/kmeter1.dts
index 154f5d293fd3b..376720d15e572 100644
--- a/arch/powerpc/boot/dts/kmeter1.dts
+++ b/arch/powerpc/boot/dts/kmeter1.dts
@@ -76,7 +76,7 @@ i2c@3000 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <264000000>;
 			interrupts = <9 0x8>;
diff --git a/arch/powerpc/boot/dts/kuroboxHD.dts b/arch/powerpc/boot/dts/kuroboxHD.dts
index 0a4545159e800..a487f242d919f 100644
--- a/arch/powerpc/boot/dts/kuroboxHD.dts
+++ b/arch/powerpc/boot/dts/kuroboxHD.dts
@@ -84,7 +84,7 @@ rtc@32 {
 		serial0: serial@80004500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x80004500 0x8>;
 			clock-frequency = <97553800>;
 			current-speed = <9600>;
@@ -95,7 +95,7 @@ serial0: serial@80004500 {
 		serial1: serial@80004600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x80004600 0x8>;
 			clock-frequency = <97553800>;
 			current-speed = <57600>;
diff --git a/arch/powerpc/boot/dts/kuroboxHG.dts b/arch/powerpc/boot/dts/kuroboxHG.dts
index 0e758b347cdb7..11c650cd1af35 100644
--- a/arch/powerpc/boot/dts/kuroboxHG.dts
+++ b/arch/powerpc/boot/dts/kuroboxHG.dts
@@ -84,7 +84,7 @@ rtc@32 {
 		serial0: serial@80004500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x80004500 0x8>;
 			clock-frequency = <130041000>;
 			current-speed = <9600>;
@@ -95,7 +95,7 @@ serial0: serial@80004500 {
 		serial1: serial@80004600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x80004600 0x8>;
 			clock-frequency = <130041000>;
 			current-speed = <57600>;
diff --git a/arch/powerpc/boot/dts/mpc8308_p1m.dts b/arch/powerpc/boot/dts/mpc8308_p1m.dts
index 2638555afcc45..8578dbf1f31b5 100644
--- a/arch/powerpc/boot/dts/mpc8308_p1m.dts
+++ b/arch/powerpc/boot/dts/mpc8308_p1m.dts
@@ -227,7 +227,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <9 0x8>;
@@ -237,7 +237,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8308rdb.dts b/arch/powerpc/boot/dts/mpc8308rdb.dts
index af2ed8380a867..3b42eede80bc6 100644
--- a/arch/powerpc/boot/dts/mpc8308rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8308rdb.dts
@@ -203,7 +203,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <9 0x8>;
@@ -213,7 +213,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8313erdb.dts b/arch/powerpc/boot/dts/mpc8313erdb.dts
index a8315795b2c95..d09db72277527 100644
--- a/arch/powerpc/boot/dts/mpc8313erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8313erdb.dts
@@ -256,7 +256,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -266,7 +266,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8315erdb.dts b/arch/powerpc/boot/dts/mpc8315erdb.dts
index e09b37d7489d0..4fc0d3fbe39f3 100644
--- a/arch/powerpc/boot/dts/mpc8315erdb.dts
+++ b/arch/powerpc/boot/dts/mpc8315erdb.dts
@@ -259,7 +259,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <9 0x8>;
@@ -269,7 +269,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <133333333>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc832x_mds.dts b/arch/powerpc/boot/dts/mpc832x_mds.dts
index 3af073f01e71f..a9f95df92e694 100644
--- a/arch/powerpc/boot/dts/mpc832x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc832x_mds.dts
@@ -102,7 +102,7 @@ rtc@68 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -112,7 +112,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc832x_rdb.dts b/arch/powerpc/boot/dts/mpc832x_rdb.dts
index ecebc27a28987..435efd2f748fd 100644
--- a/arch/powerpc/boot/dts/mpc832x_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc832x_rdb.dts
@@ -79,7 +79,7 @@ i2c@3000 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -89,7 +89,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8349emitx.dts b/arch/powerpc/boot/dts/mpc8349emitx.dts
index d4ebbb93de0b3..48b14d1d1f3a0 100644
--- a/arch/powerpc/boot/dts/mpc8349emitx.dts
+++ b/arch/powerpc/boot/dts/mpc8349emitx.dts
@@ -278,7 +278,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;		// from bootloader
 			interrupts = <9 0x8>;
@@ -288,7 +288,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;		// from bootloader
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8349emitxgp.dts b/arch/powerpc/boot/dts/mpc8349emitxgp.dts
index bcf68a0a7b557..5a460275cb93b 100644
--- a/arch/powerpc/boot/dts/mpc8349emitxgp.dts
+++ b/arch/powerpc/boot/dts/mpc8349emitxgp.dts
@@ -184,7 +184,7 @@ tbi0: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;		// from bootloader
 			interrupts = <9 0x8>;
@@ -194,7 +194,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;		// from bootloader
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc834x_mds.dts b/arch/powerpc/boot/dts/mpc834x_mds.dts
index 6c8cb859c55f8..386baac9c5a86 100644
--- a/arch/powerpc/boot/dts/mpc834x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc834x_mds.dts
@@ -236,7 +236,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -246,7 +246,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc836x_mds.dts b/arch/powerpc/boot/dts/mpc836x_mds.dts
index f4ca12ec57f18..38ca10da4e2d2 100644
--- a/arch/powerpc/boot/dts/mpc836x_mds.dts
+++ b/arch/powerpc/boot/dts/mpc836x_mds.dts
@@ -132,7 +132,7 @@ i2c@3100 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <264000000>;
 			interrupts = <9 0x8>;
@@ -142,7 +142,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <264000000>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc836x_rdk.dts b/arch/powerpc/boot/dts/mpc836x_rdk.dts
index a0cc1953484d7..51e0b6754748f 100644
--- a/arch/powerpc/boot/dts/mpc836x_rdk.dts
+++ b/arch/powerpc/boot/dts/mpc836x_rdk.dts
@@ -98,7 +98,7 @@ i2c@3100 {
 
 		serial0: serial@4500 {
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			interrupts = <9 8>;
 			interrupt-parent = <&ipic>;
@@ -108,7 +108,7 @@ serial0: serial@4500 {
 
 		serial1: serial@4600 {
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			interrupts = <10 8>;
 			interrupt-parent = <&ipic>;
diff --git a/arch/powerpc/boot/dts/mpc8377_mds.dts b/arch/powerpc/boot/dts/mpc8377_mds.dts
index 9227bce0e2f56..11c522d4fffaa 100644
--- a/arch/powerpc/boot/dts/mpc8377_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8377_mds.dts
@@ -270,7 +270,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -280,7 +280,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8377_rdb.dts b/arch/powerpc/boot/dts/mpc8377_rdb.dts
index 7df452efa9579..dba5e7e1bc16a 100644
--- a/arch/powerpc/boot/dts/mpc8377_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8377_rdb.dts
@@ -316,7 +316,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -326,7 +326,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8377_wlan.dts b/arch/powerpc/boot/dts/mpc8377_wlan.dts
index d8e7d40aeae44..82d4517261597 100644
--- a/arch/powerpc/boot/dts/mpc8377_wlan.dts
+++ b/arch/powerpc/boot/dts/mpc8377_wlan.dts
@@ -298,7 +298,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -308,7 +308,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8378_mds.dts b/arch/powerpc/boot/dts/mpc8378_mds.dts
index e45b25554e8c7..aa1cd44284005 100644
--- a/arch/powerpc/boot/dts/mpc8378_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8378_mds.dts
@@ -309,7 +309,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -319,7 +319,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8378_rdb.dts b/arch/powerpc/boot/dts/mpc8378_rdb.dts
index bdcfe83a561e1..af53d5f47719c 100644
--- a/arch/powerpc/boot/dts/mpc8378_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8378_rdb.dts
@@ -316,7 +316,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -326,7 +326,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8379_mds.dts b/arch/powerpc/boot/dts/mpc8379_mds.dts
index f7379a1cbb6c7..c11bc5cdaa954 100644
--- a/arch/powerpc/boot/dts/mpc8379_mds.dts
+++ b/arch/powerpc/boot/dts/mpc8379_mds.dts
@@ -307,7 +307,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -317,7 +317,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8379_rdb.dts b/arch/powerpc/boot/dts/mpc8379_rdb.dts
index a5f702304a353..9f58b82ce3d8d 100644
--- a/arch/powerpc/boot/dts/mpc8379_rdb.dts
+++ b/arch/powerpc/boot/dts/mpc8379_rdb.dts
@@ -314,7 +314,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <9 0x8>;
@@ -324,7 +324,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <10 0x8>;
diff --git a/arch/powerpc/boot/dts/mpc8610_hpcd.dts b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
index 33bbe58c1ad08..6b197f460e5cb 100644
--- a/arch/powerpc/boot/dts/mpc8610_hpcd.dts
+++ b/arch/powerpc/boot/dts/mpc8610_hpcd.dts
@@ -172,7 +172,7 @@ i2c@3100 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -183,7 +183,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/socrates.dts b/arch/powerpc/boot/dts/socrates.dts
index 00a56e8e367cd..2915af26be21a 100644
--- a/arch/powerpc/boot/dts/socrates.dts
+++ b/arch/powerpc/boot/dts/socrates.dts
@@ -195,7 +195,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -205,7 +205,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/storcenter.dts b/arch/powerpc/boot/dts/storcenter.dts
index 99f6f544dc5f8..5fed642164627 100644
--- a/arch/powerpc/boot/dts/storcenter.dts
+++ b/arch/powerpc/boot/dts/storcenter.dts
@@ -74,7 +74,7 @@ rtc@68 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x20>;
 			clock-frequency = <97553800>; /* Hz */
 			current-speed = <115200>;
@@ -85,7 +85,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x20>;
 			clock-frequency = <97553800>; /* Hz */
 			current-speed = <9600>;
diff --git a/arch/powerpc/boot/dts/stxssa8555.dts b/arch/powerpc/boot/dts/stxssa8555.dts
index 5dca2a91c41f6..59ea659d7d6d6 100644
--- a/arch/powerpc/boot/dts/stxssa8555.dts
+++ b/arch/powerpc/boot/dts/stxssa8555.dts
@@ -204,7 +204,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>; 	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
@@ -214,7 +214,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/tqm8540.dts b/arch/powerpc/boot/dts/tqm8540.dts
index 9c1eb9779108c..11e855217a5c8 100644
--- a/arch/powerpc/boot/dts/tqm8540.dts
+++ b/arch/powerpc/boot/dts/tqm8540.dts
@@ -243,7 +243,7 @@ tbi2: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>; 	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
@@ -253,7 +253,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/tqm8541.dts b/arch/powerpc/boot/dts/tqm8541.dts
index 44595cf675d01..60f9be355857f 100644
--- a/arch/powerpc/boot/dts/tqm8541.dts
+++ b/arch/powerpc/boot/dts/tqm8541.dts
@@ -217,7 +217,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>; 	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
@@ -227,7 +227,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/tqm8548-bigflash.dts b/arch/powerpc/boot/dts/tqm8548-bigflash.dts
index caa36c5ef1155..0139b40263758 100644
--- a/arch/powerpc/boot/dts/tqm8548-bigflash.dts
+++ b/arch/powerpc/boot/dts/tqm8548-bigflash.dts
@@ -296,7 +296,7 @@ tbi3: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;	// reg base, size
 			clock-frequency = <0>;	// should we fill in in uboot?
 			current-speed = <115200>;
@@ -307,7 +307,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>;	// should we fill in in uboot?
 			current-speed = <115200>;
diff --git a/arch/powerpc/boot/dts/tqm8548.dts b/arch/powerpc/boot/dts/tqm8548.dts
index 12a64410f349c..3f0579f6cbcd5 100644
--- a/arch/powerpc/boot/dts/tqm8548.dts
+++ b/arch/powerpc/boot/dts/tqm8548.dts
@@ -296,7 +296,7 @@ tbi3: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;	// reg base, size
 			clock-frequency = <0>;	// should we fill in in uboot?
 			current-speed = <115200>;
@@ -307,7 +307,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>;	// should we fill in in uboot?
 			current-speed = <115200>;
diff --git a/arch/powerpc/boot/dts/tqm8555.dts b/arch/powerpc/boot/dts/tqm8555.dts
index 54f3e82907d69..90e5d007033a0 100644
--- a/arch/powerpc/boot/dts/tqm8555.dts
+++ b/arch/powerpc/boot/dts/tqm8555.dts
@@ -217,7 +217,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>; 	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
@@ -227,7 +227,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;	// reg base, size
 			clock-frequency = <0>; 	// should we fill in in uboot?
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/xcalibur1501.dts b/arch/powerpc/boot/dts/xcalibur1501.dts
index 46c25bda9515d..00dd0b65f9483 100644
--- a/arch/powerpc/boot/dts/xcalibur1501.dts
+++ b/arch/powerpc/boot/dts/xcalibur1501.dts
@@ -528,7 +528,7 @@ tbi3: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -539,7 +539,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/xpedite5200.dts b/arch/powerpc/boot/dts/xpedite5200.dts
index 840ea84bbb595..730ca82efa567 100644
--- a/arch/powerpc/boot/dts/xpedite5200.dts
+++ b/arch/powerpc/boot/dts/xpedite5200.dts
@@ -330,7 +330,7 @@ tbi3: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			current-speed = <115200>;
@@ -341,7 +341,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			current-speed = <115200>;
diff --git a/arch/powerpc/boot/dts/xpedite5200_xmon.dts b/arch/powerpc/boot/dts/xpedite5200_xmon.dts
index 449fc1b5dc230..e123e3eb858c2 100644
--- a/arch/powerpc/boot/dts/xpedite5200_xmon.dts
+++ b/arch/powerpc/boot/dts/xpedite5200_xmon.dts
@@ -334,7 +334,7 @@ tbi3: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			current-speed = <9600>;
@@ -345,7 +345,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			current-speed = <9600>;
diff --git a/arch/powerpc/boot/dts/xpedite5301.dts b/arch/powerpc/boot/dts/xpedite5301.dts
index 12184e1796381..4afac7c0693e0 100644
--- a/arch/powerpc/boot/dts/xpedite5301.dts
+++ b/arch/powerpc/boot/dts/xpedite5301.dts
@@ -438,7 +438,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -449,7 +449,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/xpedite5330.dts b/arch/powerpc/boot/dts/xpedite5330.dts
index e8fc90c52ad6b..013002a16bdda 100644
--- a/arch/powerpc/boot/dts/xpedite5330.dts
+++ b/arch/powerpc/boot/dts/xpedite5330.dts
@@ -474,7 +474,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -485,7 +485,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
diff --git a/arch/powerpc/boot/dts/xpedite5370.dts b/arch/powerpc/boot/dts/xpedite5370.dts
index 2b5aa2f3a7098..6b3f1cada6326 100644
--- a/arch/powerpc/boot/dts/xpedite5370.dts
+++ b/arch/powerpc/boot/dts/xpedite5370.dts
@@ -436,7 +436,7 @@ tbi1: tbi-phy@11 {
 		serial0: serial@4500 {
 			cell-index = <0>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4500 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
@@ -447,7 +447,7 @@ serial0: serial@4500 {
 		serial1: serial@4600 {
 			cell-index = <1>;
 			device_type = "serial";
-			compatible = "fsl,ns16550", "ns16550";
+			compatible = "fsl,ns16550", "ns16550a";
 			reg = <0x4600 0x100>;
 			clock-frequency = <0>;
 			interrupts = <42 2>;
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 09/10] dt-bindings: serial: Move Marvell compatible string to 8250 binding doc
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (7 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 08/10] powerpc/fsl: Make serial ports " Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-20 17:41 ` [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema Lubomir Rintel
  2020-03-23 19:01 ` [PATCH 0/10] NS 8250 UART Device Tree improvements Rob Herring
  10 siblings, 0 replies; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

These ports are compatible with NS8250 and handled by the same driver.
Get rid of the extra document that fails to document the properties that
are actually supported.

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 Documentation/devicetree/bindings/serial/8250.txt        | 2 ++
 Documentation/devicetree/bindings/serial/mrvl-serial.txt | 4 ----
 2 files changed, 2 insertions(+), 4 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/mrvl-serial.txt

diff --git a/Documentation/devicetree/bindings/serial/8250.txt b/Documentation/devicetree/bindings/serial/8250.txt
index 55700f20f6ee8..a543702859e2f 100644
--- a/Documentation/devicetree/bindings/serial/8250.txt
+++ b/Documentation/devicetree/bindings/serial/8250.txt
@@ -26,6 +26,8 @@ Required properties:
 	- "aspeed,ast2400-vuart"
 	- "aspeed,ast2500-vuart"
 	- "nuvoton,npcm750-uart"
+	- "mrvl,mmp-uart"
+	- "mrvl,pxa-uart"
 	- "serial" if the port type is unknown.
 - reg : offset and length of the register set for the device.
 - interrupts : should contain uart interrupt.
diff --git a/Documentation/devicetree/bindings/serial/mrvl-serial.txt b/Documentation/devicetree/bindings/serial/mrvl-serial.txt
deleted file mode 100644
index d744340de887c..0000000000000
--- a/Documentation/devicetree/bindings/serial/mrvl-serial.txt
+++ /dev/null
@@ -1,4 +0,0 @@
-PXA UART controller
-
-Required properties:
-- compatible : should be "mrvl,mmp-uart" or "mrvl,pxa-uart".
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (8 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 09/10] dt-bindings: serial: Move Marvell compatible string to 8250 binding doc Lubomir Rintel
@ 2020-03-20 17:41 ` Lubomir Rintel
  2020-03-23 19:00   ` Rob Herring
  2020-03-23 19:01 ` [PATCH 0/10] NS 8250 UART Device Tree improvements Rob Herring
  10 siblings, 1 reply; 15+ messages in thread
From: Lubomir Rintel @ 2020-03-20 17:41 UTC (permalink / raw)
  To: Greg Kroah-Hartman
  Cc: Rob Herring, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree,
	Lubomir Rintel

Some fixes were done during the conversion:

Slightly better examples. The original example was for an OMAP serial
port, which is not even described by this binding, but by
omap_serial.txt instead.

Added compatible strings, that were used, byt not documented:
andestech,uart16550, cavium,octeon-3860-uart, fsl,16550-FIFO64,
nvidia,tegra186-uart, nvidia,tegra194-uart, nxp,lpc1850-uart,
opencores,uart16550-rtlsvn105, ralink,mt7620a-uart, ralink,rt3052-uart,
ralink,rt3883-uart and xlnx,xps-uart16550-2.00.b.

Removed "serial" compatible string. It's redundant with the node name
(which, in OFW, serves the same purpose as the compatible string).

Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
---
 .../devicetree/bindings/serial/8250.txt       | 102 --------
 .../devicetree/bindings/serial/8250.yaml      | 246 ++++++++++++++++++
 2 files changed, 246 insertions(+), 102 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/serial/8250.txt
 create mode 100644 Documentation/devicetree/bindings/serial/8250.yaml

diff --git a/Documentation/devicetree/bindings/serial/8250.txt b/Documentation/devicetree/bindings/serial/8250.txt
deleted file mode 100644
index a543702859e2f..0000000000000
--- a/Documentation/devicetree/bindings/serial/8250.txt
+++ /dev/null
@@ -1,102 +0,0 @@
-* UART (Universal Asynchronous Receiver/Transmitter)
-
-Required properties:
-- compatible : one of:
-	- "ns8250"
-	- "ns16450"
-	- "ns16550a"
-	- "ns16550"
-	- "ns16750"
-	- "ns16850"
-	- For Tegra20, must contain "nvidia,tegra20-uart"
-	- For other Tegra, must contain '"nvidia,<chip>-uart",
-	  "nvidia,tegra20-uart"' where <chip> is tegra30, tegra114, tegra124,
-	  tegra132, or tegra210.
-	- "nxp,lpc3220-uart"
-	- "ralink,rt2880-uart"
-	- For MediaTek BTIF, must contain '"mediatek,<chip>-btif",
-	  "mediatek,mtk-btif"' where <chip> is mt7622, mt7623.
-	- "altr,16550-FIFO32"
-	- "altr,16550-FIFO64"
-	- "altr,16550-FIFO128"
-	- "fsl,16550-FIFO64"
-	- "fsl,ns16550"
-	- "intel,xscale-uart"
-	- "ti,da830-uart"
-	- "aspeed,ast2400-vuart"
-	- "aspeed,ast2500-vuart"
-	- "nuvoton,npcm750-uart"
-	- "mrvl,mmp-uart"
-	- "mrvl,pxa-uart"
-	- "serial" if the port type is unknown.
-- reg : offset and length of the register set for the device.
-- interrupts : should contain uart interrupt.
-- clock-frequency : the input clock frequency for the UART
-	 or
-  clocks phandle to refer to the clk used as per Documentation/devicetree
-  /bindings/clock/clock-bindings.txt
-
-Optional properties:
-- current-speed : the current active speed of the UART.
-- reg-offset : offset to apply to the mapbase from the start of the registers.
-- reg-shift : quantity to shift the register offsets by.
-- reg-io-width : the size (in bytes) of the IO accesses that should be
-  performed on the device.  There are some systems that require 32-bit
-  accesses to the UART (e.g. TI davinci).
-- used-by-rtas : set to indicate that the port is in use by the OpenFirmware
-  RTAS and should not be registered.
-- no-loopback-test: set to indicate that the port does not implements loopback
-  test mode
-- fifo-size: the fifo size of the UART.
-- auto-flow-control: one way to enable automatic flow control support. The
-  driver is allowed to detect support for the capability even without this
-  property.
-- tx-threshold: Specify the TX FIFO low water indication for parts with
-  programmable TX FIFO thresholds.
-- resets : phandle + reset specifier pairs
-- overrun-throttle-ms : how long to pause uart rx when input overrun is encountered.
-- {rts,cts,dtr,dsr,rng,dcd}-gpios: specify a GPIO for RTS/CTS/DTR/DSR/RI/DCD
-  line respectively. It will use specified GPIO instead of the peripheral
-  function pin for the UART feature. If unsure, don't specify this property.
-- aspeed,sirq-polarity-sense: Only applicable to aspeed,ast2500-vuart.
-  phandle to aspeed,ast2500-scu compatible syscon alongside register offset
-  and bit number to identify how the SIRQ polarity should be configured.
-  One possible data source is the LPC/eSPI mode bit.
-  Example: aspeed,sirq-polarity-sense = <&syscon 0x70 25>
-
-Note:
-* fsl,ns16550:
-  ------------
-  Freescale DUART is very similar to the PC16552D (and to a
-  pair of NS16550A), albeit with some nonstandard behavior such as
-  erratum A-004737 (relating to incorrect BRK handling).
-
-  Represents a single port that is compatible with the DUART found
-  on many Freescale chips (examples include mpc8349, mpc8548,
-  mpc8641d, p4080 and ls2085a).
-
-Example:
-
-	uart@80230000 {
-		compatible = "ns8250";
-		reg = <0x80230000 0x100>;
-		clock-frequency = <3686400>;
-		interrupts = <10>;
-		reg-shift = <2>;
-	};
-
-Example for OMAP UART using GPIO-based modem control signals:
-
-	uart4: serial@49042000 {
-		compatible = "ti,omap3-uart";
-		reg = <0x49042000 0x400>;
-		interrupts = <80>;
-		ti,hwmods = "uart4";
-		clock-frequency = <48000000>;
-		cts-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
-		rts-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
-		dtr-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
-		dsr-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
-		dcd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
-		rng-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
-	};
diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
new file mode 100644
index 0000000000000..88192f94385b0
--- /dev/null
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -0,0 +1,246 @@
+# Copyright 2020 Lubomir Rintel <lkundrak@v3.sk>
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/serial/8250.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: UART (Universal Asynchronous Receiver/Transmitter) bindings
+
+maintainers:
+  - devicetree@vger.kernel.org
+
+allOf:
+  - $ref: /schemas/serial.yaml#
+  - if:
+      not:
+        required:
+          - clock-frequency
+    then:
+      required:
+        - clocks
+  - if:
+      not:
+        required:
+          - clocks
+    then:
+      required:
+        - clock-frequency
+  - if:
+      required:
+        - aspeed,sirq-polarity-sense
+    then:
+      properties:
+        compatible:
+          const: aspeed,ast2500-vuart
+  - if:
+      properties:
+        compatible:
+          const: mrvl,mmp-uart
+    then:
+      properties:
+        reg-shift:
+          const: 2
+      required:
+        - reg-shift
+
+properties:
+  compatible:
+    oneOf:
+      - const: ns8250
+      - const: ns16450
+      - const: ns16550
+      - const: ns16550a
+      - const: ns16850
+      - const: aspeed,ast2400-vuart
+      - const: aspeed,ast2500-vuart
+      - const: intel,xscale-uart
+      - const: mrvl,pxa-uart
+      - const: nuvoton,npcm750-uart
+      - const: nvidia,tegra20-uart
+      - const: nxp,lpc3220-uart
+      - items:
+          - enum:
+              - altr,16550-FIFO32
+              - altr,16550-FIFO64
+              - altr,16550-FIFO128
+              - fsl,16550-FIFO64
+              - fsl,ns16550
+              - andestech,uart16550
+              - nxp,lpc1850-uart
+              - opencores,uart16550-rtlsvn105
+              - ti,da830-uart
+          - const: ns16550a
+      - items:
+          - enum:
+              - ns16750
+              - cavium,octeon-3860-uart
+              - xlnx,xps-uart16550-2.00.b
+              - ralink,rt2880-uart
+          - const: ns16550
+      - items:
+          - enum:
+            - ralink,mt7620a-uart
+            - ralink,rt3052-uart
+            - ralink,rt3883-uart
+          - const: ralink,rt2880-uart
+          - const: ns16550
+      - items:
+          - enum:
+              - mediatek,mt7622-btif
+              - mediatek,mt7623-btif
+          - const: mediatek,mtk-btif
+      - items:
+          - enum:
+              - mediatek,mt7622-btif
+              - mediatek,mt7623-btif
+          - const: mediatek,mtk-btif
+      - items:
+          - const: mrvl,mmp-uart
+          - const: intel,xscale-uart
+      - items:
+          - enum:
+              - nvidia,tegra30-uart
+              - nvidia,tegra114-uart
+              - nvidia,tegra124-uart
+              - nvidia,tegra186-uart
+              - nvidia,tegra194-uart
+              - nvidia,tegra210-uart
+          - const: nvidia,tegra20-uart
+
+  reg:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  clock-frequency: true
+
+  clocks:
+    maxItems: 1
+
+  current-speed:
+    description: The current active speed of the UART.
+
+  reg-offset:
+    description: |
+      Offset to apply to the mapbase from the start of the registers.
+
+  reg-shift:
+    description: Quantity to shift the register offsets by.
+
+  reg-io-width:
+    description: |
+      The size (in bytes) of the IO accesses that should be performed on the
+      device. There are some systems that require 32-bit accesses to the
+      UART (e.g. TI davinci).
+
+  used-by-rtas:
+    description: |
+      Set to indicate that the port is in use by the OpenFirmware RTAS and
+      should not be registered.
+
+  no-loopback-test:
+    description: |
+      Set to indicate that the port does not implements loopback test mode.
+
+  fifo-size:
+    description: The fifo size of the UART.
+
+  auto-flow-control:
+    description: |
+      One way to enable automatic flow control support. The driver is
+      allowed to detect support for the capability even without this
+      property.
+
+  tx-threshold:
+    description: |
+      Specify the TX FIFO low water indication for parts with programmable
+      TX FIFO thresholds.
+
+  resets:
+    description: Phandle + reset specifier pairs
+
+  overrun-throttle-ms:
+    description: |
+      How long to pause uart rx when input overrun is encountered.
+
+  rts-gpios:
+    description: |
+      Specify a GPIO for RTS line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  cts-gpios:
+    description: |
+      Specify a GPIO for CTS line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  dtr-gpios:
+    description: |
+      Specify a GPIO for DTR line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  dsr-gpios:
+    description: |
+      Specify a GPIO for DSR line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  rng-gpios:
+    description: |
+      Specify a GPIO for RNG line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  dcd-gpios:
+    description: |
+      Specify a GPIO for DCD line to be used instead of the peripheral
+      function pin for the UART feature.
+
+  aspeed,sirq-polarity-sense:
+    $ref: '/schemas/types.yaml#/definitions/phandle-array'
+    description: |
+      Phandle to aspeed,ast2500-scu compatible syscon alongside register
+      offset and bit number to identify how the SIRQ polarity should be
+      configured. One possible data source is the LPC/eSPI mode bit. Only
+      applicable to aspeed,ast2500-vuart.
+
+required:
+  - reg
+  - interrupts
+
+additionalProperties: false
+
+examples:
+  - |
+    serial@80230000 {
+        compatible = "ns8250";
+        reg = <0x80230000 0x100>;
+        interrupts = <10>;
+        reg-shift = <2>;
+        clock-frequency = <48000000>;
+    };
+  - |
+    #include <dt-bindings/gpio/gpio.h>
+    serial@49042000 {
+        compatible = "andestech,uart16550", "ns16550a";
+        reg = <0x49042000 0x400>;
+        interrupts = <80>;
+        clock-frequency = <48000000>;
+        cts-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
+        rts-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
+        dtr-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
+        dsr-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
+        dcd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
+        rng-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
+    };
+  - |
+    #include <dt-bindings/clock/aspeed-clock.h>
+    serial@1e787000 {
+        compatible = "aspeed,ast2500-vuart";
+        reg = <0x1e787000 0x40>;
+        reg-shift = <2>;
+        interrupts = <8>;
+        clocks = <&syscon ASPEED_CLK_APB>;
+        no-loopback-test;
+        aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
+    };
+
+...
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 15+ messages in thread

* Re: [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a
  2020-03-20 17:41 ` [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a Lubomir Rintel
@ 2020-03-21 11:11   ` Måns Rullgård
  0 siblings, 0 replies; 15+ messages in thread
From: Måns Rullgård @ 2020-03-21 11:11 UTC (permalink / raw)
  To: Lubomir Rintel
  Cc: Greg Kroah-Hartman, Rob Herring, Mark Rutland, Daniel Mack,
	Haojian Zhuang, Robert Jarzmik, Marc Gonzalez,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, linux-serial, linux-kernel, devicetree

Lubomir Rintel <lkundrak@v3.sk> writes:

> ralink,rt2880-uart is compatible with ns16550a and all other
> instances of RT2880 UART nodes include it in the compatible property.
> Add it also here, to make the binding schema simpler.
>
> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>

Acked-by: Mans Rullgard <mans@mansr.com>

> ---
>  arch/arm/boot/dts/tango4-common.dtsi | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/arm/boot/dts/tango4-common.dtsi b/arch/arm/boot/dts/tango4-common.dtsi
> index ff72a8efb73d0..54fd522badfc9 100644
> --- a/arch/arm/boot/dts/tango4-common.dtsi
> +++ b/arch/arm/boot/dts/tango4-common.dtsi
> @@ -85,7 +85,7 @@ tick-counter@10048 {
>  		};
>
>  		uart: serial@10700 {
> -			compatible = "ralink,rt2880-uart";
> +			compatible = "ralink,rt2880-uart", "ns16550a";
>  			reg = <0x10700 0x30>;
>  			interrupts = <1 IRQ_TYPE_LEVEL_HIGH>;
>  			clock-frequency = <7372800>;
> -- 
> 2.25.1
>

-- 
Måns Rullgård

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 08/10] powerpc/fsl: Make serial ports compatible with ns16550a
  2020-03-20 17:41 ` [PATCH 08/10] powerpc/fsl: Make serial ports " Lubomir Rintel
@ 2020-03-23 17:59   ` Rob Herring
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-03-23 17:59 UTC (permalink / raw)
  To: Lubomir Rintel
  Cc: Greg Kroah-Hartman, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, open list:SERIAL DRIVERS, linux-kernel, devicetree

On Fri, Mar 20, 2020 at 11:41 AM Lubomir Rintel <lkundrak@v3.sk> wrote:
>
> There are separate compatible strings for ns16550 and ns16550a and the
> Freescale serial port is compatible with the latter one, with working
> FIFO.

I don't think changing this is right. First, 'ns16550' is what's
documented in the DT spec (and ePAPR which it's based on).

Second, these dts files are pretty mature/stable, so I'm less inclined
to change them. AFAICT, this change either enables the fifo (which
would be an untested change in behavior) or has no effect because the
fifo is auto-detected.

> Use the appropriate compatible string that is also consistent with ARM64
> Freescale boards and thus avoiding one special case in the binding schema.

Well, that's annoying...

Rob

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema
  2020-03-20 17:41 ` [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema Lubomir Rintel
@ 2020-03-23 19:00   ` Rob Herring
  0 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-03-23 19:00 UTC (permalink / raw)
  To: Lubomir Rintel
  Cc: Greg Kroah-Hartman, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, open list:SERIAL DRIVERS, linux-kernel, devicetree

On Fri, Mar 20, 2020 at 11:41 AM Lubomir Rintel <lkundrak@v3.sk> wrote:
>
> Some fixes were done during the conversion:

Thanks for doing this!

>
> Slightly better examples. The original example was for an OMAP serial
> port, which is not even described by this binding, but by
> omap_serial.txt instead.
>
> Added compatible strings, that were used, byt not documented:
> andestech,uart16550, cavium,octeon-3860-uart, fsl,16550-FIFO64,
> nvidia,tegra186-uart, nvidia,tegra194-uart, nxp,lpc1850-uart,
> opencores,uart16550-rtlsvn105, ralink,mt7620a-uart, ralink,rt3052-uart,
> ralink,rt3883-uart and xlnx,xps-uart16550-2.00.b.
>
> Removed "serial" compatible string. It's redundant with the node name
> (which, in OFW, serves the same purpose as the compatible string).

Yeah, that seems fairly useless to me.

> Signed-off-by: Lubomir Rintel <lkundrak@v3.sk>
> ---
>  .../devicetree/bindings/serial/8250.txt       | 102 --------
>  .../devicetree/bindings/serial/8250.yaml      | 246 ++++++++++++++++++
>  2 files changed, 246 insertions(+), 102 deletions(-)
>  delete mode 100644 Documentation/devicetree/bindings/serial/8250.txt
>  create mode 100644 Documentation/devicetree/bindings/serial/8250.yaml

[...]

> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> new file mode 100644
> index 0000000000000..88192f94385b0
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -0,0 +1,246 @@
> +# Copyright 2020 Lubomir Rintel <lkundrak@v3.sk>
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/serial/8250.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: UART (Universal Asynchronous Receiver/Transmitter) bindings

Perhaps: "8250 series UART..."

> +
> +maintainers:
> +  - devicetree@vger.kernel.org
> +
> +allOf:
> +  - $ref: /schemas/serial.yaml#

> +  - if:
> +      not:
> +        required:
> +          - clock-frequency
> +    then:
> +      required:
> +        - clocks
> +  - if:
> +      not:
> +        required:
> +          - clocks
> +    then:
> +      required:
> +        - clock-frequency

anyOf:
  - required: [ clock-frequency ]
  - required: [ clocks ]

> +  - if:
> +      required:
> +        - aspeed,sirq-polarity-sense
> +    then:
> +      properties:
> +        compatible:
> +          const: aspeed,ast2500-vuart
> +  - if:
> +      properties:
> +        compatible:
> +          const: mrvl,mmp-uart
> +    then:
> +      properties:
> +        reg-shift:
> +          const: 2
> +      required:
> +        - reg-shift
> +
> +properties:
> +  compatible:
> +    oneOf:
> +      - const: ns8250
> +      - const: ns16450
> +      - const: ns16550
> +      - const: ns16550a
> +      - const: ns16850
> +      - const: aspeed,ast2400-vuart
> +      - const: aspeed,ast2500-vuart
> +      - const: intel,xscale-uart
> +      - const: mrvl,pxa-uart
> +      - const: nuvoton,npcm750-uart
> +      - const: nvidia,tegra20-uart
> +      - const: nxp,lpc3220-uart
> +      - items:
> +          - enum:
> +              - altr,16550-FIFO32
> +              - altr,16550-FIFO64
> +              - altr,16550-FIFO128
> +              - fsl,16550-FIFO64
> +              - fsl,ns16550
> +              - andestech,uart16550
> +              - nxp,lpc1850-uart
> +              - opencores,uart16550-rtlsvn105
> +              - ti,da830-uart
> +          - const: ns16550a
> +      - items:
> +          - enum:
> +              - ns16750
> +              - cavium,octeon-3860-uart
> +              - xlnx,xps-uart16550-2.00.b
> +              - ralink,rt2880-uart
> +          - const: ns16550

Seems to me these are just as likely to be wrong as the fsl,ns16550 as
it's unlikely the FIFO is broken. Perhaps a note here to use
'ns16550a' instead unless you have a broken FIFO.

> +      - items:
> +          - enum:
> +            - ralink,mt7620a-uart
> +            - ralink,rt3052-uart
> +            - ralink,rt3883-uart
> +          - const: ralink,rt2880-uart
> +          - const: ns16550
> +      - items:
> +          - enum:
> +              - mediatek,mt7622-btif
> +              - mediatek,mt7623-btif
> +          - const: mediatek,mtk-btif
> +      - items:
> +          - enum:
> +              - mediatek,mt7622-btif
> +              - mediatek,mt7623-btif
> +          - const: mediatek,mtk-btif
> +      - items:
> +          - const: mrvl,mmp-uart
> +          - const: intel,xscale-uart
> +      - items:
> +          - enum:
> +              - nvidia,tegra30-uart
> +              - nvidia,tegra114-uart
> +              - nvidia,tegra124-uart
> +              - nvidia,tegra186-uart
> +              - nvidia,tegra194-uart
> +              - nvidia,tegra210-uart
> +          - const: nvidia,tegra20-uart
> +
> +  reg:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  clock-frequency: true
> +
> +  clocks:
> +    maxItems: 1
> +
> +  current-speed:
> +    description: The current active speed of the UART.

Needs a type reference.

> +  reg-offset:
> +    description: |
> +      Offset to apply to the mapbase from the start of the registers.
> +
> +  reg-shift:
> +    description: Quantity to shift the register offsets by.
> +
> +  reg-io-width:
> +    description: |
> +      The size (in bytes) of the IO accesses that should be performed on the
> +      device. There are some systems that require 32-bit accesses to the
> +      UART (e.g. TI davinci).

We'll assume these have a type definition elsewhere.

> +
> +  used-by-rtas:
> +    description: |
> +      Set to indicate that the port is in use by the OpenFirmware RTAS and
> +      should not be registered.

Needs a type reference.

> +
> +  no-loopback-test:
> +    description: |
> +      Set to indicate that the port does not implements loopback test mode.

s/implements/implement/

Needs a type reference (or 'type: boolean').

> +
> +  fifo-size:
> +    description: The fifo size of the UART.
> +
> +  auto-flow-control:
> +    description: |
> +      One way to enable automatic flow control support. The driver is
> +      allowed to detect support for the capability even without this
> +      property.
> +
> +  tx-threshold:
> +    description: |
> +      Specify the TX FIFO low water indication for parts with programmable
> +      TX FIFO thresholds.

Need a type reference for all these.

> +
> +  resets:
> +    description: Phandle + reset specifier pairs

Is there a range of number of resets? Use minItems/maxItems.

> +
> +  overrun-throttle-ms:
> +    description: |
> +      How long to pause uart rx when input overrun is encountered.
> +
> +  rts-gpios:
> +    description: |
> +      Specify a GPIO for RTS line to be used instead of the peripheral
> +      function pin for the UART feature.

No need to define properties from serial.yaml again. Just 'rts-gpios: true'.

> +
> +  cts-gpios:
> +    description: |
> +      Specify a GPIO for CTS line to be used instead of the peripheral
> +      function pin for the UART feature.
> +
> +  dtr-gpios:
> +    description: |
> +      Specify a GPIO for DTR line to be used instead of the peripheral
> +      function pin for the UART feature.
> +
> +  dsr-gpios:
> +    description: |
> +      Specify a GPIO for DSR line to be used instead of the peripheral
> +      function pin for the UART feature.
> +
> +  rng-gpios:
> +    description: |
> +      Specify a GPIO for RNG line to be used instead of the peripheral
> +      function pin for the UART feature.
> +
> +  dcd-gpios:
> +    description: |
> +      Specify a GPIO for DCD line to be used instead of the peripheral
> +      function pin for the UART feature.
> +
> +  aspeed,sirq-polarity-sense:
> +    $ref: '/schemas/types.yaml#/definitions/phandle-array'
> +    description: |
> +      Phandle to aspeed,ast2500-scu compatible syscon alongside register
> +      offset and bit number to identify how the SIRQ polarity should be
> +      configured. One possible data source is the LPC/eSPI mode bit. Only
> +      applicable to aspeed,ast2500-vuart.
> +
> +required:
> +  - reg
> +  - interrupts
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    serial@80230000 {
> +        compatible = "ns8250";
> +        reg = <0x80230000 0x100>;
> +        interrupts = <10>;
> +        reg-shift = <2>;
> +        clock-frequency = <48000000>;
> +    };
> +  - |
> +    #include <dt-bindings/gpio/gpio.h>
> +    serial@49042000 {
> +        compatible = "andestech,uart16550", "ns16550a";
> +        reg = <0x49042000 0x400>;
> +        interrupts = <80>;
> +        clock-frequency = <48000000>;
> +        cts-gpios = <&gpio3 5 GPIO_ACTIVE_LOW>;
> +        rts-gpios = <&gpio3 6 GPIO_ACTIVE_LOW>;
> +        dtr-gpios = <&gpio1 12 GPIO_ACTIVE_LOW>;
> +        dsr-gpios = <&gpio1 13 GPIO_ACTIVE_LOW>;
> +        dcd-gpios = <&gpio1 14 GPIO_ACTIVE_LOW>;
> +        rng-gpios = <&gpio1 15 GPIO_ACTIVE_LOW>;
> +    };
> +  - |
> +    #include <dt-bindings/clock/aspeed-clock.h>
> +    serial@1e787000 {
> +        compatible = "aspeed,ast2500-vuart";
> +        reg = <0x1e787000 0x40>;
> +        reg-shift = <2>;
> +        interrupts = <8>;
> +        clocks = <&syscon ASPEED_CLK_APB>;
> +        no-loopback-test;
> +        aspeed,sirq-polarity-sense = <&syscon 0x70 25>;
> +    };
> +
> +...
> --
> 2.25.1
>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [PATCH 0/10] NS 8250 UART Device Tree improvements
  2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
                   ` (9 preceding siblings ...)
  2020-03-20 17:41 ` [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema Lubomir Rintel
@ 2020-03-23 19:01 ` Rob Herring
  10 siblings, 0 replies; 15+ messages in thread
From: Rob Herring @ 2020-03-23 19:01 UTC (permalink / raw)
  To: Lubomir Rintel
  Cc: Greg Kroah-Hartman, Mark Rutland, Daniel Mack, Haojian Zhuang,
	Robert Jarzmik, Marc Gonzalez, Mans Rullgard,
	Benjamin Herrenschmidt, Paul Mackerras, Michael Ellerman,
	linuxppc-dev, open list:SERIAL DRIVERS, linux-kernel, devicetree

On Fri, Mar 20, 2020 at 11:41 AM Lubomir Rintel <lkundrak@v3.sk> wrote:
>
> Hi,
>
> this series aims to make it possible to validate NS 8250 compatible serial port
> nodes in Device Tree. It ultimately ends up converting the 8250.txt binding
> specification to YAML for json-schema.
>
> It starts by fixing up a couple of issues that would fail validation of
> device trees for various boards. Note there might be validation issues in other
> boards -- I don't have computing power to run "make dtbs_check" with
> CONFIG_OF_ALL_DTBS=y at the moment. I'm happy to fix up issues if somebody
> runs the test output to me.
>
> Unless someone has a different idea, I'd like to submit this to arm-soc once
> I get the Acks from PXA and Tango maintainers as well as DT reviewers:
>
>   [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references
>   [PATCH 02/10] ARM: dts: pxa*: Fix serial port names
>   [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with
>   [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle
>   [PATCH 05/10] ARM: dts: mmp*: Fix serial port names
>   [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with
>   [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a

For 1-7:

Reviewed-by: Rob Herring <robh@kernel.org>

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2020-03-23 19:01 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-20 17:40 [PATCH 0/10] NS 8250 UART Device Tree improvements Lubomir Rintel
2020-03-20 17:40 ` [PATCH 01/10] ARM: dts: pxa*: Don't redeclare phandle references Lubomir Rintel
2020-03-20 17:40 ` [PATCH 02/10] ARM: dts: pxa*: Fix serial port names Lubomir Rintel
2020-03-20 17:41 ` [PATCH 03/10] ARM: dts: pxa*: Make the serial ports compatible with xscale-uart Lubomir Rintel
2020-03-20 17:41 ` [PATCH 04/10] ARM: dts: mmp2-brownstone: Don't redeclare phandle references Lubomir Rintel
2020-03-20 17:41 ` [PATCH 05/10] ARM: dts: mmp*: Fix serial port names Lubomir Rintel
2020-03-20 17:41 ` [PATCH 06/10] ARM: dts: mmp*: Make the serial ports compatible with xscale-uart Lubomir Rintel
2020-03-20 17:41 ` [PATCH 07/10] ARM: dts: tango4: Make /serial compatible with ns16550a Lubomir Rintel
2020-03-21 11:11   ` Måns Rullgård
2020-03-20 17:41 ` [PATCH 08/10] powerpc/fsl: Make serial ports " Lubomir Rintel
2020-03-23 17:59   ` Rob Herring
2020-03-20 17:41 ` [PATCH 09/10] dt-bindings: serial: Move Marvell compatible string to 8250 binding doc Lubomir Rintel
2020-03-20 17:41 ` [PATCH 10/10] dt-bindings: serial: Convert 8250 to json-schema Lubomir Rintel
2020-03-23 19:00   ` Rob Herring
2020-03-23 19:01 ` [PATCH 0/10] NS 8250 UART Device Tree improvements Rob Herring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).