linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] Add support for MStar MSC313 uarts
@ 2022-03-24 12:43 Daniel Palmer
  2022-03-24 12:43 ` [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add " Daniel Palmer
                   ` (3 more replies)
  0 siblings, 4 replies; 10+ messages in thread
From: Daniel Palmer @ 2022-03-24 12:43 UTC (permalink / raw)
  To: devicetree, linux-serial, robh+dt, andriy.shevchenko, jirislaby
  Cc: linux-kernel, linux-arm-kernel, romain.perier, Daniel Palmer

This is a fairly simple series to add support for the MStar MSC313
uarts found in MStar/SigmaStar ARMv7 based SoCs.

I have been using this for years now but I held off sending it because
I wasn't entirely sure the uart was actually a DW based design.

We got documentation recently and it refers to this being a "DW UART"
so I'm pretty sure it is now.

Daniel Palmer (4):
  dt-bindings: serial: snps-dw-apb-uart: Add MStar MSC313 uarts
  serial: 8250_dw: Add MStar MSC313 quirk
  ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart
  ARM: dts: mstar: Add second UART to base dtsi.

 .../devicetree/bindings/serial/snps-dw-apb-uart.yaml   |  3 +++
 arch/arm/boot/dts/mstar-v7.dtsi                        | 10 +++++++++-
 drivers/tty/serial/8250/8250_dw.c                      |  5 +++++
 3 files changed, 17 insertions(+), 1 deletion(-)

-- 
2.35.1


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

* [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add MStar MSC313 uarts
  2022-03-24 12:43 [PATCH 0/4] Add support for MStar MSC313 uarts Daniel Palmer
@ 2022-03-24 12:43 ` Daniel Palmer
  2022-04-01  0:20   ` Rob Herring
  2022-03-24 12:44 ` [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk Daniel Palmer
                   ` (2 subsequent siblings)
  3 siblings, 1 reply; 10+ messages in thread
From: Daniel Palmer @ 2022-03-24 12:43 UTC (permalink / raw)
  To: devicetree, linux-serial, robh+dt, andriy.shevchenko, jirislaby
  Cc: linux-kernel, linux-arm-kernel, romain.perier, Daniel Palmer

Add compatible for the MStar MSC313 uarts.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
index 12137fe80acf..486e9deaef0f 100644
--- a/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml
@@ -45,6 +45,9 @@ properties:
               - starfive,jh7100-hsuart
               - starfive,jh7100-uart
           - const: snps,dw-apb-uart
+      - items:
+          - const: mstar,msc313-uart
+          - const: snps,dw-apb-uart
       - const: snps,dw-apb-uart
 
   reg:
-- 
2.35.1


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

* [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk
  2022-03-24 12:43 [PATCH 0/4] Add support for MStar MSC313 uarts Daniel Palmer
  2022-03-24 12:43 ` [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add " Daniel Palmer
@ 2022-03-24 12:44 ` Daniel Palmer
  2022-03-24 13:58   ` Andy Shevchenko
  2022-03-24 12:44 ` [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart Daniel Palmer
  2022-03-24 12:44 ` [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi Daniel Palmer
  3 siblings, 1 reply; 10+ messages in thread
From: Daniel Palmer @ 2022-03-24 12:44 UTC (permalink / raw)
  To: devicetree, linux-serial, robh+dt, andriy.shevchenko, jirislaby
  Cc: linux-kernel, linux-arm-kernel, romain.perier, Daniel Palmer

The version of the IP used on the MStar MSC313 and later
MStar and SigmaStar SoCs has the USR register at a different
location. Add a quirk for this.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 drivers/tty/serial/8250/8250_dw.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/tty/serial/8250/8250_dw.c b/drivers/tty/serial/8250/8250_dw.c
index 1769808031c5..01737e5706a5 100644
--- a/drivers/tty/serial/8250/8250_dw.c
+++ b/drivers/tty/serial/8250/8250_dw.c
@@ -416,6 +416,10 @@ static void dw8250_quirks(struct uart_port *p, struct dw8250_data *data)
 			p->serial_out = dw8250_serial_out38x;
 		if (of_device_is_compatible(np, "starfive,jh7100-uart"))
 			p->set_termios = dw8250_do_set_termios;
+		if (of_device_is_compatible(np, "mstar,msc313-uart")) {
+			data->usr_reg = 0x7;
+			data->skip_autocfg = true;
+		}
 
 	} else if (acpi_dev_present("APMC0D08", NULL, -1)) {
 		p->iotype = UPIO_MEM32;
@@ -699,6 +703,7 @@ static const struct of_device_id dw8250_of_match[] = {
 	{ .compatible = "marvell,armada-38x-uart" },
 	{ .compatible = "renesas,rzn1-uart" },
 	{ .compatible = "starfive,jh7100-uart" },
+	{ .compatible = "mstar,msc313-uart" },
 	{ /* Sentinel */ }
 };
 MODULE_DEVICE_TABLE(of, dw8250_of_match);
-- 
2.35.1


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

* [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart
  2022-03-24 12:43 [PATCH 0/4] Add support for MStar MSC313 uarts Daniel Palmer
  2022-03-24 12:43 ` [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add " Daniel Palmer
  2022-03-24 12:44 ` [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk Daniel Palmer
@ 2022-03-24 12:44 ` Daniel Palmer
  2022-03-25 12:23   ` Romain Perier
  2022-03-24 12:44 ` [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi Daniel Palmer
  3 siblings, 1 reply; 10+ messages in thread
From: Daniel Palmer @ 2022-03-24 12:44 UTC (permalink / raw)
  To: devicetree, linux-serial, robh+dt, andriy.shevchenko, jirislaby
  Cc: linux-kernel, linux-arm-kernel, romain.perier, Daniel Palmer

The UART used in these SoCs is actually a variant of the dw apb uart.
Now there is a compatible string in that driver to handle the quirks
switch the compatible for pm_uart over to mstar,msc313-uart.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/mstar-v7.dtsi | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
index c26ba9b7b6dd..8464a8f1b136 100644
--- a/arch/arm/boot/dts/mstar-v7.dtsi
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -175,7 +175,7 @@ gpio: gpio@207800 {
 			};
 
 			pm_uart: uart@221000 {
-				compatible = "ns16550a";
+				compatible = "mstar,msc313-uart", "snps,dw-apb-uart";
 				reg = <0x221000 0x100>;
 				reg-shift = <3>;
 				interrupts-extended = <&intc_irq GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>;
-- 
2.35.1


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

* [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi.
  2022-03-24 12:43 [PATCH 0/4] Add support for MStar MSC313 uarts Daniel Palmer
                   ` (2 preceding siblings ...)
  2022-03-24 12:44 ` [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart Daniel Palmer
@ 2022-03-24 12:44 ` Daniel Palmer
  2022-03-25 12:25   ` Romain Perier
  2022-03-28 13:28   ` Rob Herring
  3 siblings, 2 replies; 10+ messages in thread
From: Daniel Palmer @ 2022-03-24 12:44 UTC (permalink / raw)
  To: devicetree, linux-serial, robh+dt, andriy.shevchenko, jirislaby
  Cc: linux-kernel, linux-arm-kernel, romain.perier, Daniel Palmer

Add the second UART to the base dtsi.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 arch/arm/boot/dts/mstar-v7.dtsi | 8 ++++++++
 1 file changed, 8 insertions(+)

diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
index 8464a8f1b136..baf2422b9854 100644
--- a/arch/arm/boot/dts/mstar-v7.dtsi
+++ b/arch/arm/boot/dts/mstar-v7.dtsi
@@ -182,6 +182,14 @@ pm_uart: uart@221000 {
 				clock-frequency = <172000000>;
 				status = "disabled";
 			};
+
+			uart1: uart@221200 {
+				compatible = "mstar,msc313-uart", "snps,dw-apb-uart";
+				reg = <0x221200 0x100>;
+				reg-shift = <3>;
+				interrupts-extended = <&intc_irq GIC_SPI 35 IRQ_TYPE_LEVEL_HIGH>;
+				status = "disabled";
+			};
 		};
 
 		imi: sram@a0000000 {
-- 
2.35.1


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

* Re: [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk
  2022-03-24 12:44 ` [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk Daniel Palmer
@ 2022-03-24 13:58   ` Andy Shevchenko
  0 siblings, 0 replies; 10+ messages in thread
From: Andy Shevchenko @ 2022-03-24 13:58 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: devicetree, linux-serial, robh+dt, jirislaby, linux-kernel,
	linux-arm-kernel, romain.perier

On Thu, Mar 24, 2022 at 09:44:00PM +0900, Daniel Palmer wrote:
> The version of the IP used on the MStar MSC313 and later
> MStar and SigmaStar SoCs has the USR register at a different
> location. Add a quirk for this.

I'm fine with the change if it goes before [1]. Otherwise
you will need to rebase.

[1]: https://lore.kernel.org/linux-serial/20220317174627.360815-1-miquel.raynal@bootlin.com/

-- 
With Best Regards,
Andy Shevchenko



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

* Re: [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart
  2022-03-24 12:44 ` [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart Daniel Palmer
@ 2022-03-25 12:23   ` Romain Perier
  0 siblings, 0 replies; 10+ messages in thread
From: Romain Perier @ 2022-03-25 12:23 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: devicetree, linux-serial, Rob Herring, andriy.shevchenko,
	Jiri Slaby, Linux Kernel Mailing List, linux-arm-kernel

Hi Daniel,

Le jeu. 24 mars 2022 à 13:44, Daniel Palmer <daniel@0x0f.com> a écrit :
>
> The UART used in these SoCs is actually a variant of the dw apb uart.
> Now there is a compatible string in that driver to handle the quirks
> switch the compatible for pm_uart over to mstar,msc313-uart.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
Reviewed-by: Romain Perier <romain.perier@gmail.com>

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

* Re: [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi.
  2022-03-24 12:44 ` [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi Daniel Palmer
@ 2022-03-25 12:25   ` Romain Perier
  2022-03-28 13:28   ` Rob Herring
  1 sibling, 0 replies; 10+ messages in thread
From: Romain Perier @ 2022-03-25 12:25 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: devicetree, linux-serial, Rob Herring, andriy.shevchenko,
	Jiri Slaby, Linux Kernel Mailing List, linux-arm-kernel

Hi Daniel,


Le jeu. 24 mars 2022 à 13:44, Daniel Palmer <daniel@0x0f.com> a écrit :
>
> Add the second UART to the base dtsi.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>

More context in the long message would help, imho.
Otherwise:
Reviewed-by: Romain Perier <romain.perier@gmail.com>

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

* Re: [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi.
  2022-03-24 12:44 ` [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi Daniel Palmer
  2022-03-25 12:25   ` Romain Perier
@ 2022-03-28 13:28   ` Rob Herring
  1 sibling, 0 replies; 10+ messages in thread
From: Rob Herring @ 2022-03-28 13:28 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: devicetree, open list:SERIAL DRIVERS, Andy Shevchenko,
	Jiri Slaby, linux-kernel, linux-arm-kernel, Romain Perier

On Thu, Mar 24, 2022 at 7:44 AM Daniel Palmer <daniel@0x0f.com> wrote:
>
> Add the second UART to the base dtsi.
>
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  arch/arm/boot/dts/mstar-v7.dtsi | 8 ++++++++
>  1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm/boot/dts/mstar-v7.dtsi b/arch/arm/boot/dts/mstar-v7.dtsi
> index 8464a8f1b136..baf2422b9854 100644
> --- a/arch/arm/boot/dts/mstar-v7.dtsi
> +++ b/arch/arm/boot/dts/mstar-v7.dtsi
> @@ -182,6 +182,14 @@ pm_uart: uart@221000 {
>                                 clock-frequency = <172000000>;
>                                 status = "disabled";
>                         };
> +
> +                       uart1: uart@221200 {

serial@...

Please run schema checks on your DT as that should be a warning that I
don't have to tell you about.

Rob

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

* Re: [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add MStar MSC313 uarts
  2022-03-24 12:43 ` [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add " Daniel Palmer
@ 2022-04-01  0:20   ` Rob Herring
  0 siblings, 0 replies; 10+ messages in thread
From: Rob Herring @ 2022-04-01  0:20 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: romain.perier, robh+dt, jirislaby, linux-serial,
	linux-arm-kernel, devicetree, andriy.shevchenko, linux-kernel

On Thu, 24 Mar 2022 21:43:59 +0900, Daniel Palmer wrote:
> Add compatible for the MStar MSC313 uarts.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  Documentation/devicetree/bindings/serial/snps-dw-apb-uart.yaml | 3 +++
>  1 file changed, 3 insertions(+)
> 

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

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

end of thread, other threads:[~2022-04-01  0:21 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-24 12:43 [PATCH 0/4] Add support for MStar MSC313 uarts Daniel Palmer
2022-03-24 12:43 ` [PATCH 1/4] dt-bindings: serial: snps-dw-apb-uart: Add " Daniel Palmer
2022-04-01  0:20   ` Rob Herring
2022-03-24 12:44 ` [PATCH 2/4] serial: 8250_dw: Add MStar MSC313 quirk Daniel Palmer
2022-03-24 13:58   ` Andy Shevchenko
2022-03-24 12:44 ` [PATCH 3/4] ARM: dts: mstar: Switch pm_uart to mstar,msc313-uart Daniel Palmer
2022-03-25 12:23   ` Romain Perier
2022-03-24 12:44 ` [PATCH 4/4] ARM: dts: mstar: Add second UART to base dtsi Daniel Palmer
2022-03-25 12:25   ` Romain Perier
2022-03-28 13:28   ` 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).