* [PATCH v2 1/3] dt-bindings: serial: amlogic, meson-uart: add fifo-size property
2021-03-25 15:24 [PATCH v2 0/3] tty: serial: meson: add amlogic, uart-fifosize property Neil Armstrong
@ 2021-03-25 15:24 ` Neil Armstrong
2021-04-26 18:06 ` [PATCH v2 1/3] dt-bindings: serial: amlogic,meson-uart: " Neil Armstrong
2021-03-25 15:24 ` [PATCH v2 2/3] tty: serial: meson: retrieve port FIFO size from DT Neil Armstrong
2021-03-25 15:24 ` [PATCH v2 3/3] arm64: dts: meson: set 128bytes FIFO size on uart A Neil Armstrong
2 siblings, 1 reply; 7+ messages in thread
From: Neil Armstrong @ 2021-03-25 15:24 UTC (permalink / raw)
To: gregkh
Cc: devicetree, linux-serial, linux-arm-kernel, linux-amlogic,
linux-kernel, Neil Armstrong, Martin Blumenstingl
On most of the Amlogic SoCs, the first UART controller in the "Everything-Else"
power domain has 128bytes of RX & TX FIFO, so add an optional property to describe
a different FIFO size from the other ports (64bytes).
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
.../devicetree/bindings/serial/amlogic,meson-uart.yaml | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
index 75ebc9952a99..8ece7f420c19 100644
--- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
@@ -55,6 +55,12 @@ properties:
- const: pclk
- const: baud
+
+ fifo-size:
+ description: The fifo size supported by the UART channel.
+ $ref: /schemas/types.yaml#/definitions/uint32
+ enum: [64, 128]
+
required:
- compatible
- reg
--
2.25.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 1/3] dt-bindings: serial: amlogic,meson-uart: add fifo-size property
2021-03-25 15:24 ` [PATCH v2 1/3] dt-bindings: serial: amlogic, meson-uart: add fifo-size property Neil Armstrong
@ 2021-04-26 18:06 ` Neil Armstrong
0 siblings, 0 replies; 7+ messages in thread
From: Neil Armstrong @ 2021-04-26 18:06 UTC (permalink / raw)
To: Rob Herring
Cc: devicetree, linux-serial, linux-arm-kernel, linux-amlogic,
linux-kernel, Martin Blumenstingl, gregkh
Hi Rob,
On 25/03/2021 16:24, Neil Armstrong wrote:
> On most of the Amlogic SoCs, the first UART controller in the "Everything-Else"
> power domain has 128bytes of RX & TX FIFO, so add an optional property to describe
> a different FIFO size from the other ports (64bytes).
>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
> ---
> .../devicetree/bindings/serial/amlogic,meson-uart.yaml | 6 ++++++
> 1 file changed, 6 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
> index 75ebc9952a99..8ece7f420c19 100644
> --- a/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
> +++ b/Documentation/devicetree/bindings/serial/amlogic,meson-uart.yaml
> @@ -55,6 +55,12 @@ properties:
> - const: pclk
> - const: baud
>
> +
> + fifo-size:
> + description: The fifo size supported by the UART channel.
> + $ref: /schemas/types.yaml#/definitions/uint32
> + enum: [64, 128]
> +
> required:
> - compatible
> - reg
>
Is it ok with the generic fifo-size property ?
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] tty: serial: meson: retrieve port FIFO size from DT
2021-03-25 15:24 [PATCH v2 0/3] tty: serial: meson: add amlogic, uart-fifosize property Neil Armstrong
2021-03-25 15:24 ` [PATCH v2 1/3] dt-bindings: serial: amlogic, meson-uart: add fifo-size property Neil Armstrong
@ 2021-03-25 15:24 ` Neil Armstrong
2021-03-28 21:24 ` Martin Blumenstingl
2021-03-25 15:24 ` [PATCH v2 3/3] arm64: dts: meson: set 128bytes FIFO size on uart A Neil Armstrong
2 siblings, 1 reply; 7+ messages in thread
From: Neil Armstrong @ 2021-03-25 15:24 UTC (permalink / raw)
To: gregkh
Cc: devicetree, linux-serial, linux-arm-kernel, linux-amlogic,
linux-kernel, Neil Armstrong, Kevin Hilman
Now the DT bindings has a property to get the FIFO size for a particular port,
retrieve it and use to setup the FIFO interrupts threshold.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
Reviewed-by: Kevin Hilman <khilman@baylibre.com>
---
drivers/tty/serial/meson_uart.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/tty/serial/meson_uart.c b/drivers/tty/serial/meson_uart.c
index 69eeef9edfa5..ce4dbfb0bd24 100644
--- a/drivers/tty/serial/meson_uart.c
+++ b/drivers/tty/serial/meson_uart.c
@@ -717,6 +717,7 @@ static int meson_uart_probe(struct platform_device *pdev)
{
struct resource *res_mem, *res_irq;
struct uart_port *port;
+ u32 fifosize = 64; /* Default is 64, 128 for EE UART_0 */
int ret = 0;
int id = -1;
@@ -743,6 +744,8 @@ static int meson_uart_probe(struct platform_device *pdev)
if (!res_irq)
return -ENODEV;
+ of_property_read_u32(pdev->dev.of_node, "fifo-size", &fifosize);
+
if (meson_ports[pdev->id]) {
dev_err(&pdev->dev, "port %d already allocated\n", pdev->id);
return -EBUSY;
@@ -772,7 +775,7 @@ static int meson_uart_probe(struct platform_device *pdev)
port->type = PORT_MESON;
port->x_char = 0;
port->ops = &meson_uart_ops;
- port->fifosize = 64;
+ port->fifosize = fifosize;
meson_ports[pdev->id] = port;
platform_set_drvdata(pdev, port);
--
2.25.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply related [flat|nested] 7+ messages in thread
* Re: [PATCH v2 2/3] tty: serial: meson: retrieve port FIFO size from DT
2021-03-25 15:24 ` [PATCH v2 2/3] tty: serial: meson: retrieve port FIFO size from DT Neil Armstrong
@ 2021-03-28 21:24 ` Martin Blumenstingl
0 siblings, 0 replies; 7+ messages in thread
From: Martin Blumenstingl @ 2021-03-28 21:24 UTC (permalink / raw)
To: Neil Armstrong
Cc: gregkh, devicetree, linux-serial, linux-arm-kernel,
linux-amlogic, linux-kernel, Kevin Hilman
On Thu, Mar 25, 2021 at 4:25 PM Neil Armstrong <narmstrong@baylibre.com> wrote:
>
> Now the DT bindings has a property to get the FIFO size for a particular port,
> retrieve it and use to setup the FIFO interrupts threshold.
>
> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
> Reviewed-by: Kevin Hilman <khilman@baylibre.com>
Reviewed-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] arm64: dts: meson: set 128bytes FIFO size on uart A
2021-03-25 15:24 [PATCH v2 0/3] tty: serial: meson: add amlogic, uart-fifosize property Neil Armstrong
2021-03-25 15:24 ` [PATCH v2 1/3] dt-bindings: serial: amlogic, meson-uart: add fifo-size property Neil Armstrong
2021-03-25 15:24 ` [PATCH v2 2/3] tty: serial: meson: retrieve port FIFO size from DT Neil Armstrong
@ 2021-03-25 15:24 ` Neil Armstrong
2021-03-28 21:24 ` Martin Blumenstingl
2 siblings, 1 reply; 7+ messages in thread
From: Neil Armstrong @ 2021-03-25 15:24 UTC (permalink / raw)
To: gregkh
Cc: devicetree, linux-serial, linux-arm-kernel, linux-amlogic,
linux-kernel, Neil Armstrong
The first UART controller in "Everything-Else" power domain, usually used
for Bluetooth HCI has 128bytes FIFO depth.
Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
---
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 1 +
arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi | 1 +
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 1 +
3 files changed, 3 insertions(+)
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index d945c84ab697..db3dae932a08 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -1872,6 +1872,7 @@ uart_A: serial@24000 {
status = "disabled";
clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
clock-names = "xtal", "pclk", "baud";
+ fifo-size = <128>;
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index b858c5e43cc8..4f5b85ad3120 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -2311,6 +2311,7 @@ uart_A: serial@24000 {
clocks = <&xtal>, <&clkc CLKID_UART0>, <&xtal>;
clock-names = "xtal", "pclk", "baud";
status = "disabled";
+ fifo-size = <128>;
};
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 0edd137151f8..8eae0b7d1642 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -295,6 +295,7 @@ uart_A: serial@84c0 {
reg = <0x0 0x84c0 0x0 0x18>;
interrupts = <GIC_SPI 26 IRQ_TYPE_EDGE_RISING>;
status = "disabled";
+ fifo-size = <128>;
};
uart_B: serial@84dc {
--
2.25.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply related [flat|nested] 7+ messages in thread