public inbox for linux-serial@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-05 13:11 [PATCH 0/2] Airoha UART support Benjamin Larsson
@ 2025-01-05 13:11 ` Benjamin Larsson
  2025-01-06  7:16   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-05 13:11 UTC (permalink / raw)
  To: linux-serial, devicetree; +Cc: ansuelsmth, lorenzo, Benjamin Larsson

The Airoha SoC family have a mostly 16550-compatible UART
hardware with the exception of custom baud rate settings
register. Specifying one of the following compatibles
will enable routines for calculating the baud rate.

For the regular UART use:
compatible = "airoha,airoha-uart";

For the high speed HSUART use:
compatible = "airoha,airoha-hsuart";

Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
 Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index 692aa05500fd..2fbb972e5460 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -63,6 +63,8 @@ properties:
       - const: mrvl,pxa-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
+      - const: airoha,airoha-uart
+      - const: airoha,airoha-hsuart
       - const: nvidia,tegra20-uart
       - const: nxp,lpc3220-uart
       - items:
-- 
2.34.1


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-05 13:11 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
@ 2025-01-06  7:16   ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-06  7:16 UTC (permalink / raw)
  To: Benjamin Larsson; +Cc: linux-serial, devicetree, ansuelsmth, lorenzo

On Sun, Jan 05, 2025 at 02:11:46PM +0100, Benjamin Larsson wrote:
> The Airoha SoC family have a mostly 16550-compatible UART
> hardware with the exception of custom baud rate settings
> register. Specifying one of the following compatibles
> will enable routines for calculating the baud rate.
> 
> For the regular UART use:
> compatible = "airoha,airoha-uart";
> 
> For the high speed HSUART use:
> compatible = "airoha,airoha-hsuart";

Drop the compatibles explanation, obvious. Rather say:
"... a mostly 16550-compatible UART and High-Speed UART hardware ..."
or whatever HS is shortcut of.

> 
> Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
> ---
>  Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> index 692aa05500fd..2fbb972e5460 100644
> --- a/Documentation/devicetree/bindings/serial/8250.yaml
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -63,6 +63,8 @@ properties:
>        - const: mrvl,pxa-uart
>        - const: nuvoton,wpcm450-uart
>        - const: nuvoton,npcm750-uart
> +      - const: airoha,airoha-uart
> +      - const: airoha,airoha-hsuart

Devices are not compatible?

Best regards,
Krzysztof


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

* [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-11 13:22 [PATCH v2 0/2] Airoha UART support Benjamin Larsson
@ 2025-01-11 13:22 ` Benjamin Larsson
  2025-01-11 13:27   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-11 13:22 UTC (permalink / raw)
  To: linux-serial, devicetree
  Cc: ansuelsmth, lorenzo, krzk, gregkh, Benjamin Larsson

The Airoha SoC family have a mostly 16550-compatible UART
and High-Speed UART hardware with the exception of custom
baud rate settings register.

compatible = "airoha,airoha-uart";
compatible = "airoha,airoha-hsuart";

Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
 Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index 692aa05500fd..2fbb972e5460 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -63,6 +63,8 @@ properties:
       - const: mrvl,pxa-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
+      - const: airoha,airoha-uart
+      - const: airoha,airoha-hsuart
       - const: nvidia,tegra20-uart
       - const: nxp,lpc3220-uart
       - items:
-- 
2.34.1


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-11 13:22 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
@ 2025-01-11 13:27   ` Krzysztof Kozlowski
  2025-01-11 13:38     ` Benjamin Larsson
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-11 13:27 UTC (permalink / raw)
  To: Benjamin Larsson, linux-serial, devicetree; +Cc: ansuelsmth, lorenzo, gregkh

On 11/01/2025 14:22, Benjamin Larsson wrote:
> The Airoha SoC family have a mostly 16550-compatible UART
> and High-Speed UART hardware with the exception of custom
> baud rate settings register.
> 
> compatible = "airoha,airoha-uart";
> compatible = "airoha,airoha-hsuart";

I don't understand these, not helping to understand the commit at all.
Do not describe DT syntax in commit msg, it's obvious.

BTW, that's not correct address you are supposed to CC. Please use
scripts/get_maintainers.pl to get a list of necessary people and lists
to CC. Or switch to `b4`.

Best regards,
Krzysztof

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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-11 13:27   ` Krzysztof Kozlowski
@ 2025-01-11 13:38     ` Benjamin Larsson
  0 siblings, 0 replies; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-11 13:38 UTC (permalink / raw)
  To: Krzysztof Kozlowski, linux-serial, devicetree; +Cc: ansuelsmth, lorenzo, gregkh

Hi.

On 11/01/2025 14:27, Krzysztof Kozlowski wrote:
> On 11/01/2025 14:22, Benjamin Larsson wrote:
>> The Airoha SoC family have a mostly 16550-compatible UART
>> and High-Speed UART hardware with the exception of custom
>> baud rate settings register.
>>
>> compatible = "airoha,airoha-uart";
>> compatible = "airoha,airoha-hsuart";
> 
> I don't understand these, not helping to understand the commit at all.
> Do not describe DT syntax in commit msg, it's obvious.

Will address that in v3.

> 
> BTW, that's not correct address you are supposed to CC. Please use
> scripts/get_maintainers.pl to get a list of necessary people and lists
> to CC. Or switch to `b4`.

Understood.

> 
> Best regards,
> Krzysztof

MvH
Benjamin Larsson

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

* [PATCH v3 0/2] Airoha UART support
@ 2025-01-19 13:01 Benjamin Larsson
  2025-01-19 13:01 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
  2025-01-19 13:01 ` [PATCH 2/2] serial: Airoha SoC UART and HSUART support Benjamin Larsson
  0 siblings, 2 replies; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-19 13:01 UTC (permalink / raw)
  To: linux-serial, devicetree
  Cc: ansuelsmth, lorenzo, krzk+dt, gregkh, linux-kernel,
	Benjamin Larsson

The Airoha familty of SoCs have a UART hardware that is 16550-compatible
with the exception of the baud rate settings.

This patch implements code for calculating the baud rate for the Airoha
UART and HSUART.

Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
Changes in v3:
- Reworded commit message
- Restructured comment text
- Fixed kernel-doc warning
- Fixed kernel test robot build error and build warning

Changes in v2:
- Removed ifdef use in .c files
- Removed uart port defines from user-space headers
- Reworded commit message
- Added code documentation

Benjamin Larsson (2):
  dt-bindings: serial: 8250: Add Airoha compatibles
  serial: Airoha SoC UART and HSUART support

 .../devicetree/bindings/serial/8250.yaml      |  2 +
 drivers/tty/serial/8250/8250.h                | 15 ++++
 drivers/tty/serial/8250/8250_airoha.c         | 83 +++++++++++++++++++
 drivers/tty/serial/8250/8250_of.c             |  2 +
 drivers/tty/serial/8250/8250_port.c           | 27 ++++++
 drivers/tty/serial/8250/Kconfig               | 10 +++
 drivers/tty/serial/8250/Makefile              |  1 +
 7 files changed, 140 insertions(+)
 create mode 100644 drivers/tty/serial/8250/8250_airoha.c

-- 
2.34.1


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

* [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-19 13:01 [PATCH v3 0/2] Airoha UART support Benjamin Larsson
@ 2025-01-19 13:01 ` Benjamin Larsson
  2025-01-20  7:57   ` Krzysztof Kozlowski
  2025-01-19 13:01 ` [PATCH 2/2] serial: Airoha SoC UART and HSUART support Benjamin Larsson
  1 sibling, 1 reply; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-19 13:01 UTC (permalink / raw)
  To: linux-serial, devicetree
  Cc: ansuelsmth, lorenzo, krzk+dt, gregkh, linux-kernel,
	Benjamin Larsson

The Airoha SoC family have a mostly 16550-compatible UART
and High-Speed UART hardware with the exception of custom
baud rate settings register.

Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
 Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index 692aa05500fd..2fbb972e5460 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -63,6 +63,8 @@ properties:
       - const: mrvl,pxa-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
+      - const: airoha,airoha-uart
+      - const: airoha,airoha-hsuart
       - const: nvidia,tegra20-uart
       - const: nxp,lpc3220-uart
       - items:
-- 
2.34.1


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

* [PATCH 2/2] serial: Airoha SoC UART and HSUART support
  2025-01-19 13:01 [PATCH v3 0/2] Airoha UART support Benjamin Larsson
  2025-01-19 13:01 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
@ 2025-01-19 13:01 ` Benjamin Larsson
  1 sibling, 0 replies; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-19 13:01 UTC (permalink / raw)
  To: linux-serial, devicetree
  Cc: ansuelsmth, lorenzo, krzk+dt, gregkh, linux-kernel,
	Benjamin Larsson

Support for Airoha AN7581 SoC UART and HSUART baud rate
calculation routine.

Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
 drivers/tty/serial/8250/8250.h        | 15 +++++
 drivers/tty/serial/8250/8250_airoha.c | 81 +++++++++++++++++++++++++++
 drivers/tty/serial/8250/8250_of.c     |  2 +
 drivers/tty/serial/8250/8250_port.c   | 26 +++++++++
 drivers/tty/serial/8250/Kconfig       | 10 ++++
 drivers/tty/serial/8250/Makefile      |  1 +
 6 files changed, 135 insertions(+)
 create mode 100644 drivers/tty/serial/8250/8250_airoha.c

diff --git a/drivers/tty/serial/8250/8250.h b/drivers/tty/serial/8250/8250.h
index e5310c65cf52..dd762289fa25 100644
--- a/drivers/tty/serial/8250/8250.h
+++ b/drivers/tty/serial/8250/8250.h
@@ -314,6 +314,21 @@ static inline int serial8250_in_MCR(struct uart_8250_port *up)
 	return mctrl;
 }
 
+/* uart_config[] table port type defines */
+/* Airoha UART */
+#define PORT_AIROHA	124
+
+/* Airoha HSUART */
+#define PORT_AIROHA_HS	125
+
+#ifdef CONFIG_SERIAL_8250_AIROHA
+void airoha8250_set_baud_rate(struct uart_port *port,
+			     unsigned int baud, unsigned int hs);
+#else
+static inline void airoha8250_set_baud_rate(struct uart_port *port,
+			     unsigned int baud, unsigned int hs) { }
+#endif
+
 #ifdef CONFIG_SERIAL_8250_PNP
 int serial8250_pnp_init(void);
 void serial8250_pnp_exit(void);
diff --git a/drivers/tty/serial/8250/8250_airoha.c b/drivers/tty/serial/8250/8250_airoha.c
new file mode 100644
index 000000000000..51e675605741
--- /dev/null
+++ b/drivers/tty/serial/8250/8250_airoha.c
@@ -0,0 +1,81 @@
+// SPDX-License-Identifier: GPL-2.0+
+
+/*
+ * Airoha UART baud rate calculation function
+ *
+ * Copyright (c) 2025 Genexis Sweden AB
+ * Author: Benjamin Larsson <benjamin.larsson@genexis.eu>
+ */
+
+#include "8250.h"
+
+/* The Airoha UART is 16550-compatible except for the baud rate calculation. */
+
+/* Airoha UART registers */
+#define UART_AIROHA_BRDL	0
+#define UART_AIROHA_BRDH	1
+#define UART_AIROHA_XINCLKDR	10
+#define UART_AIROHA_XYD		11
+
+#define XYD_Y 65000
+#define XINDIV_CLOCK 20000000
+#define UART_BRDL_20M 0x01
+#define UART_BRDH_20M 0x00
+
+static const int clock_div_tab[] = { 10, 4, 2};
+static const int clock_div_reg[] = {  4, 2, 1};
+
+/**
+ * airoha8250_set_baud_rate() - baud rate calculation routine
+ * @port: uart port
+ * @baud: requested uart baud rate
+ * @hs: uart type selector, 0 for regular uart and 1 for high-speed uart
+ *
+ * crystal_clock = 20 MHz (fixed frequency)
+ * xindiv_clock = crystal_clock / clock_div
+ * (x/y) = XYD, 32 bit register with 16 bits of x and then 16 bits of y
+ * clock_div = XINCLK_DIVCNT (default set to 10 (0x4)),
+ *           - 3 bit register [ 1, 2, 4, 8, 10, 12, 16, 20 ]
+ *
+ * baud_rate = ((xindiv_clock) * (x/y)) / ([BRDH,BRDL] * 16)
+ *
+ * Selecting divider needs to fulfill
+ * 1.8432 MHz <= xindiv_clk <= APB clock / 2
+ * The clocks are unknown but a divider of value 1 did not result in a valid
+ * waveform.
+ *
+ * XYD_y seems to need to be larger then XYD_x for proper waveform generation.
+ * Setting [BRDH,BRDL] to [0,1] and XYD_y to 65000 gives even values
+ * for usual baud rates.
+ */
+
+void airoha8250_set_baud_rate(struct uart_port *port,
+			     unsigned int baud, unsigned int hs)
+{
+	struct uart_8250_port *up = up_to_u8250p(port);
+	unsigned int xyd_x, nom, denom;
+	int i;
+
+	/* set DLAB to access the baud rate divider registers (BRDH, BRDL) */
+	serial_port_out(port, UART_LCR, up->lcr | UART_LCR_DLAB);
+	/* set baud rate calculation defaults */
+	/* set BRDIV ([BRDH,BRDL]) to 1 */
+	serial_port_out(port, UART_AIROHA_BRDL, UART_BRDL_20M);
+	serial_port_out(port, UART_AIROHA_BRDH, UART_BRDH_20M);
+	/* calculate XYD_x and XINCLKDR register by searching
+	 * through a table of crystal_clock divisors
+	 *
+	 * for the HSUART xyd_x needs to be scaled by a factor of 2
+	 */
+	for (i = 0 ; i < ARRAY_SIZE(clock_div_tab) ; i++) {
+		denom = (XINDIV_CLOCK/40) / clock_div_tab[i];
+		nom = baud * (XYD_Y/40);
+		xyd_x = ((nom/denom) << 4) >> hs;
+		if (xyd_x < XYD_Y)
+			break;
+	}
+	serial_port_out(port, UART_AIROHA_XINCLKDR, clock_div_reg[i]);
+	serial_port_out(port, UART_AIROHA_XYD, (xyd_x<<16) | XYD_Y);
+	/* unset DLAB */
+	serial_port_out(port, UART_LCR, up->lcr);
+}
diff --git a/drivers/tty/serial/8250/8250_of.c b/drivers/tty/serial/8250/8250_of.c
index 64aed7efc569..5315bc1bc06d 100644
--- a/drivers/tty/serial/8250/8250_of.c
+++ b/drivers/tty/serial/8250/8250_of.c
@@ -341,6 +341,8 @@ static const struct of_device_id of_platform_serial_table[] = {
 	{ .compatible = "ti,da830-uart", .data = (void *)PORT_DA830, },
 	{ .compatible = "nuvoton,wpcm450-uart", .data = (void *)PORT_NPCM, },
 	{ .compatible = "nuvoton,npcm750-uart", .data = (void *)PORT_NPCM, },
+	{ .compatible = "airoha,airoha-uart", .data = (void *)PORT_AIROHA, },
+	{ .compatible = "airoha,airoha-hsuart", .data = (void *)PORT_AIROHA_HS, },
 	{ /* end of list */ },
 };
 MODULE_DEVICE_TABLE(of, of_platform_serial_table);
diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c
index 1ea52fce9bf1..040659de35a2 100644
--- a/drivers/tty/serial/8250/8250_port.c
+++ b/drivers/tty/serial/8250/8250_port.c
@@ -319,6 +319,24 @@ static const struct serial8250_config uart_config[] = {
 		.rxtrig_bytes	= {1, 8, 16, 30},
 		.flags		= UART_CAP_FIFO | UART_CAP_AFE,
 	},
+	/* From here on after additional uart config port defines are placed in 8250.h
+	 */
+	[PORT_AIROHA] = {
+		.name		= "Airoha UART",
+		.fifo_size	= 8,
+		.tx_loadsz	= 1,
+		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_01 | UART_FCR_CLEAR_RCVR,
+		.rxtrig_bytes	= {1, 4},
+		.flags		= UART_CAP_FIFO,
+	},
+	[PORT_AIROHA_HS] = {
+		.name		= "Airoha HSUART",
+		.fifo_size	= 128,
+		.tx_loadsz	= 128,
+		.fcr		= UART_FCR_ENABLE_FIFO | UART_FCR_R_TRIG_01 | UART_FCR_CLEAR_RCVR,
+		.rxtrig_bytes	= {1, 4},
+		.flags		= UART_CAP_FIFO,
+	},
 };
 
 /* Uart divisor latch read */
@@ -2847,6 +2865,14 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
 
 	serial8250_set_divisor(port, baud, quot, frac);
 
+	/*
+	 * Airoha SoCs have custom registers for baud rate settings
+	 */
+	if (port->type == PORT_AIROHA)
+		airoha8250_set_baud_rate(port, baud, 0);
+	if (port->type == PORT_AIROHA_HS)
+		airoha8250_set_baud_rate(port, baud, 1);
+
 	/*
 	 * LCR DLAB must be set to enable 64-byte FIFO mode. If the FCR
 	 * is written without DLAB set, this mode will be disabled.
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig
index 55d26d16df9b..97fe6ea9393d 100644
--- a/drivers/tty/serial/8250/Kconfig
+++ b/drivers/tty/serial/8250/Kconfig
@@ -356,6 +356,16 @@ config SERIAL_8250_ACORN
 	  system, say Y to this option.  The driver can handle 1, 2, or 3 port
 	  cards.  If unsure, say N.
 
+config SERIAL_8250_AIROHA
+	tristate "Airoha UART support"
+	depends on (ARCH_AIROHA || COMPILE_TEST) && OF && SERIAL_8250
+	help
+	  Selecting this option enables an Airoha SoC specific baud rate
+	  calculation routine on an otherwise 16550 compatible UART hardware.
+
+	  If you have an Airoha based board and want to use the serial port,
+	  say Y to this option. If unsure, say N.
+
 config SERIAL_8250_BCM2835AUX
 	tristate "BCM2835 auxiliar mini UART support"
 	depends on ARCH_BCM2835 || COMPILE_TEST
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile
index 1516de629b61..b7f07d5c4cca 100644
--- a/drivers/tty/serial/8250/Makefile
+++ b/drivers/tty/serial/8250/Makefile
@@ -20,6 +20,7 @@ obj-$(CONFIG_SERIAL_8250_CONSOLE)	+= 8250_early.o
 
 obj-$(CONFIG_SERIAL_8250_ACCENT)	+= 8250_accent.o
 obj-$(CONFIG_SERIAL_8250_ACORN)		+= 8250_acorn.o
+obj-$(CONFIG_SERIAL_8250_AIROHA)	+= 8250_airoha.o
 obj-$(CONFIG_SERIAL_8250_ASPEED_VUART)	+= 8250_aspeed_vuart.o
 obj-$(CONFIG_SERIAL_8250_BCM2835AUX)	+= 8250_bcm2835aux.o
 obj-$(CONFIG_SERIAL_8250_BCM7271)	+= 8250_bcm7271.o
-- 
2.34.1


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-19 13:01 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
@ 2025-01-20  7:57   ` Krzysztof Kozlowski
  2025-01-20 12:59     ` Benjamin Larsson
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-20  7:57 UTC (permalink / raw)
  To: Benjamin Larsson
  Cc: linux-serial, devicetree, ansuelsmth, lorenzo, krzk+dt, gregkh,
	linux-kernel

On Sun, Jan 19, 2025 at 02:01:04PM +0100, Benjamin Larsson wrote:
> The Airoha SoC family have a mostly 16550-compatible UART
> and High-Speed UART hardware with the exception of custom
> baud rate settings register.
> 
> Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
> ---
>  Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
> index 692aa05500fd..2fbb972e5460 100644
> --- a/Documentation/devicetree/bindings/serial/8250.yaml
> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
> @@ -63,6 +63,8 @@ properties:
>        - const: mrvl,pxa-uart
>        - const: nuvoton,wpcm450-uart
>        - const: nuvoton,npcm750-uart
> +      - const: airoha,airoha-uart
> +      - const: airoha,airoha-hsuart

I assume you placed it matching existing order (kind of alphabetical for
compatibles with vendors)?

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

Best regards,
Krzysztof


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-20  7:57   ` Krzysztof Kozlowski
@ 2025-01-20 12:59     ` Benjamin Larsson
  2025-01-20 15:03       ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-20 12:59 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-serial, devicetree, ansuelsmth, lorenzo, krzk+dt, gregkh,
	linux-kernel

On 2025-01-20 08:57, Krzysztof Kozlowski wrote:
> On Sun, Jan 19, 2025 at 02:01:04PM +0100, Benjamin Larsson wrote:
>> The Airoha SoC family have a mostly 16550-compatible UART
>> and High-Speed UART hardware with the exception of custom
>> baud rate settings register.
>>
>> Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
>> ---
>>   Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
>>   1 file changed, 2 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
>> index 692aa05500fd..2fbb972e5460 100644
>> --- a/Documentation/devicetree/bindings/serial/8250.yaml
>> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
>> @@ -63,6 +63,8 @@ properties:
>>         - const: mrvl,pxa-uart
>>         - const: nuvoton,wpcm450-uart
>>         - const: nuvoton,npcm750-uart
>> +      - const: airoha,airoha-uart
>> +      - const: airoha,airoha-hsuart
> I assume you placed it matching existing order (kind of alphabetical for
> compatibles with vendors)?
>
> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>
> Best regards,
> Krzysztof
>
Hi, I placed it after nuvoton that was the most recent addition to the 
serial8250_config uart_config[] table that was also added to the 
8250.yaml binding. IIRC I noted that there was no clear order in the 
binding list. So the placement could be considered as random. If another 
place is better I can move it for the next version of the patch.

MvH

Benjamin Larsson


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-20 12:59     ` Benjamin Larsson
@ 2025-01-20 15:03       ` Krzysztof Kozlowski
  2025-01-20 15:46         ` Benjamin Larsson
  0 siblings, 1 reply; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-20 15:03 UTC (permalink / raw)
  To: Benjamin Larsson
  Cc: linux-serial, devicetree, ansuelsmth, lorenzo, krzk+dt, gregkh,
	linux-kernel

On 20/01/2025 13:59, Benjamin Larsson wrote:
> On 2025-01-20 08:57, Krzysztof Kozlowski wrote:
>> On Sun, Jan 19, 2025 at 02:01:04PM +0100, Benjamin Larsson wrote:
>>> The Airoha SoC family have a mostly 16550-compatible UART
>>> and High-Speed UART hardware with the exception of custom
>>> baud rate settings register.
>>>
>>> Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
>>> ---
>>>   Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
>>>   1 file changed, 2 insertions(+)
>>>
>>> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
>>> index 692aa05500fd..2fbb972e5460 100644
>>> --- a/Documentation/devicetree/bindings/serial/8250.yaml
>>> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
>>> @@ -63,6 +63,8 @@ properties:
>>>         - const: mrvl,pxa-uart
>>>         - const: nuvoton,wpcm450-uart
>>>         - const: nuvoton,npcm750-uart
>>> +      - const: airoha,airoha-uart
>>> +      - const: airoha,airoha-hsuart
>> I assume you placed it matching existing order (kind of alphabetical for
>> compatibles with vendors)?
>>
>> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>
>> Best regards,
>> Krzysztof
>>
> Hi, I placed it after nuvoton that was the most recent addition to the 
> serial8250_config uart_config[] table that was also added to the 

But wasn't nuvoton placed in specific, ordered place?

> 8250.yaml binding. IIRC I noted that there was no clear order in the 
> binding list. So the placement could be considered as random. If another 
> place is better I can move it for the next version of the patch.
Entries with vendor look to me fully ordered by name.

Best regards,
Krzysztof

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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-20 15:03       ` Krzysztof Kozlowski
@ 2025-01-20 15:46         ` Benjamin Larsson
  2025-01-20 16:44           ` Krzysztof Kozlowski
  0 siblings, 1 reply; 14+ messages in thread
From: Benjamin Larsson @ 2025-01-20 15:46 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: linux-serial, devicetree, ansuelsmth, lorenzo, krzk+dt, gregkh,
	linux-kernel

On 2025-01-20 16:03, Krzysztof Kozlowski wrote:
> On 20/01/2025 13:59, Benjamin Larsson wrote:
>> On 2025-01-20 08:57, Krzysztof Kozlowski wrote:
>>> On Sun, Jan 19, 2025 at 02:01:04PM +0100, Benjamin Larsson wrote:
>>>> The Airoha SoC family have a mostly 16550-compatible UART
>>>> and High-Speed UART hardware with the exception of custom
>>>> baud rate settings register.
>>>>
>>>> Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
>>>> ---
>>>>    Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
>>>>    1 file changed, 2 insertions(+)
>>>>
>>>> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
>>>> index 692aa05500fd..2fbb972e5460 100644
>>>> --- a/Documentation/devicetree/bindings/serial/8250.yaml
>>>> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
>>>> @@ -63,6 +63,8 @@ properties:
>>>>          - const: mrvl,pxa-uart
>>>>          - const: nuvoton,wpcm450-uart
>>>>          - const: nuvoton,npcm750-uart
>>>> +      - const: airoha,airoha-uart
>>>> +      - const: airoha,airoha-hsuart
>>> I assume you placed it matching existing order (kind of alphabetical for
>>> compatibles with vendors)?
>>>
>>> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>
>>> Best regards,
>>> Krzysztof
>>>
>> Hi, I placed it after nuvoton that was the most recent addition to the
>> serial8250_config uart_config[] table that was also added to the
> But wasn't nuvoton placed in specific, ordered place?

Well not really as wpcm450-uart is placed before npcm750-uart in 
8250.yaml. But I will move the entries to below ns16850 in the next 
revision to keep the vendor list in alphabetical order.


>
>> 8250.yaml binding. IIRC I noted that there was no clear order in the
>> binding list. So the placement could be considered as random. If another
>> place is better I can move it for the next version of the patch.
> Entries with vendor look to me fully ordered by name.
>
> Best regards,
> Krzysztof

MvH

Benjamin Larsson


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

* Re: [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-01-20 15:46         ` Benjamin Larsson
@ 2025-01-20 16:44           ` Krzysztof Kozlowski
  0 siblings, 0 replies; 14+ messages in thread
From: Krzysztof Kozlowski @ 2025-01-20 16:44 UTC (permalink / raw)
  To: Benjamin Larsson
  Cc: linux-serial, devicetree, ansuelsmth, lorenzo, krzk+dt, gregkh,
	linux-kernel

On 20/01/2025 16:46, Benjamin Larsson wrote:
>>>>> diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
>>>>> index 692aa05500fd..2fbb972e5460 100644
>>>>> --- a/Documentation/devicetree/bindings/serial/8250.yaml
>>>>> +++ b/Documentation/devicetree/bindings/serial/8250.yaml
>>>>> @@ -63,6 +63,8 @@ properties:
>>>>>          - const: mrvl,pxa-uart
>>>>>          - const: nuvoton,wpcm450-uart
>>>>>          - const: nuvoton,npcm750-uart
>>>>> +      - const: airoha,airoha-uart
>>>>> +      - const: airoha,airoha-hsuart
>>>> I assume you placed it matching existing order (kind of alphabetical for
>>>> compatibles with vendors)?
>>>>
>>>> Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
>>>>
>>>> Best regards,
>>>> Krzysztof
>>>>
>>> Hi, I placed it after nuvoton that was the most recent addition to the
>>> serial8250_config uart_config[] table that was also added to the
>> But wasn't nuvoton placed in specific, ordered place?
> 
> Well not really as wpcm450-uart is placed before npcm750-uart in 

Uh, indeed. :/

> 8250.yaml. But I will move the entries to below ns16850 in the next 
> revision to keep the vendor list in alphabetical order.

Best regards,
Krzysztof

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

* [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles
  2025-02-09 21:02 [PATCH v4 0/2] Airoha UART support Benjamin Larsson
@ 2025-02-09 21:02 ` Benjamin Larsson
  0 siblings, 0 replies; 14+ messages in thread
From: Benjamin Larsson @ 2025-02-09 21:02 UTC (permalink / raw)
  To: linux-serial, devicetree
  Cc: ansuelsmth, lorenzo, gregkh, Benjamin Larsson,
	Krzysztof Kozlowski

The Airoha SoC family have a mostly 16550-compatible UART
and High-Speed UART hardware with the exception of custom
baud rate settings register.

Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Benjamin Larsson <benjamin.larsson@genexis.eu>
---
 Documentation/devicetree/bindings/serial/8250.yaml | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/8250.yaml b/Documentation/devicetree/bindings/serial/8250.yaml
index 692aa05500fd..2fbb972e5460 100644
--- a/Documentation/devicetree/bindings/serial/8250.yaml
+++ b/Documentation/devicetree/bindings/serial/8250.yaml
@@ -63,6 +63,8 @@ properties:
       - const: mrvl,pxa-uart
       - const: nuvoton,wpcm450-uart
       - const: nuvoton,npcm750-uart
+      - const: airoha,airoha-uart
+      - const: airoha,airoha-hsuart
       - const: nvidia,tegra20-uart
       - const: nxp,lpc3220-uart
       - items:
-- 
2.34.1


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

end of thread, other threads:[~2025-02-09 21:02 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-01-19 13:01 [PATCH v3 0/2] Airoha UART support Benjamin Larsson
2025-01-19 13:01 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
2025-01-20  7:57   ` Krzysztof Kozlowski
2025-01-20 12:59     ` Benjamin Larsson
2025-01-20 15:03       ` Krzysztof Kozlowski
2025-01-20 15:46         ` Benjamin Larsson
2025-01-20 16:44           ` Krzysztof Kozlowski
2025-01-19 13:01 ` [PATCH 2/2] serial: Airoha SoC UART and HSUART support Benjamin Larsson
  -- strict thread matches above, loose matches on Subject: below --
2025-02-09 21:02 [PATCH v4 0/2] Airoha UART support Benjamin Larsson
2025-02-09 21:02 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
2025-01-11 13:22 [PATCH v2 0/2] Airoha UART support Benjamin Larsson
2025-01-11 13:22 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
2025-01-11 13:27   ` Krzysztof Kozlowski
2025-01-11 13:38     ` Benjamin Larsson
2025-01-05 13:11 [PATCH 0/2] Airoha UART support Benjamin Larsson
2025-01-05 13:11 ` [PATCH 1/2] dt-bindings: serial: 8250: Add Airoha compatibles Benjamin Larsson
2025-01-06  7:16   ` Krzysztof Kozlowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox