diff mbox series

[1/2] dt-bindings: serial: stm32: add fifo threshold configuration

Message ID 20210406072122.27384-2-erwan.leray@foss.st.com
State New
Headers show
Series stm32 usart add fifo threshold configuration | expand

Commit Message

Erwan LE RAY April 6, 2021, 7:21 a.m. UTC
Add two optional DT properties, to configure RX and TX fifo threshold:
- st,rx-fifo-threshold-bytes
- st,tx-fifo-threshold-bytes

This patch depends on patch ("dt-bindings: serial: Add rx-tx-swap to stm32-usart").

Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>
Signed-off-by: Erwan Le Ray <erwan.leray@foss.st.com>

Comments

Rob Herring (Arm) April 9, 2021, 4:17 p.m. UTC | #1
On Tue, Apr 06, 2021 at 09:21:21AM +0200, Erwan Le Ray wrote:
> Add two optional DT properties, to configure RX and TX fifo threshold:

> - st,rx-fifo-threshold-bytes

> - st,tx-fifo-threshold-bytes

> 

> This patch depends on patch ("dt-bindings: serial: Add rx-tx-swap to stm32-usart").

> 

> Signed-off-by: Fabrice Gasnier <fabrice.gasnier@foss.st.com>

> Signed-off-by: Erwan Le Ray <erwan.leray@foss.st.com>

> 

> diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> index c69f8464cdf3..e163449bf39e 100644

> --- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> +++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

> @@ -65,6 +65,22 @@ properties:

>    linux,rs485-enabled-at-boot-time: true

>    rs485-rx-during-tx: true

>  

> +  st,rx-fifo-threshold-bytes:

> +    description:

> +      RX FIFO threshold configuration in bytes.

> +      If value is set to 1, RX FIFO threshold is disabled.

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    enum: [1, 2, 4, 8, 12, 14, 16]

> +    default: 8

> +

> +  st,tx-fifo-threshold-bytes:

> +    description:

> +      TX FIFO threshold configuration in bytes.

> +      If value is set to 1, TX FIFO threshold is disabled.

> +    $ref: /schemas/types.yaml#/definitions/uint32

> +    enum: [1, 2, 4, 8, 12, 14, 16]

> +    default: 8


We already have 'tx-threshold' for 8250, so reuse that and add 
'rx-threshold'.

Rob
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
index c69f8464cdf3..e163449bf39e 100644
--- a/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
+++ b/Documentation/devicetree/bindings/serial/st,stm32-uart.yaml
@@ -65,6 +65,22 @@  properties:
   linux,rs485-enabled-at-boot-time: true
   rs485-rx-during-tx: true
 
+  st,rx-fifo-threshold-bytes:
+    description:
+      RX FIFO threshold configuration in bytes.
+      If value is set to 1, RX FIFO threshold is disabled.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 4, 8, 12, 14, 16]
+    default: 8
+
+  st,tx-fifo-threshold-bytes:
+    description:
+      TX FIFO threshold configuration in bytes.
+      If value is set to 1, TX FIFO threshold is disabled.
+    $ref: /schemas/types.yaml#/definitions/uint32
+    enum: [1, 2, 4, 8, 12, 14, 16]
+    default: 8
+
 allOf:
   - $ref: rs485.yaml#
   - $ref: serial.yaml#
@@ -82,6 +98,17 @@  allOf:
     then:
       properties:
         rx-tx-swap: false
+  - if:
+      properties:
+        compatible:
+          contains:
+            enum:
+              - st,stm32-uart
+              - st,stm32f7-uart
+    then:
+      properties:
+        st,rx-fifo-threshold-bytes: false
+        st,tx-fifo-threshold-bytes: false
 
 required:
   - compatible
@@ -96,13 +123,15 @@  examples:
   - |
     #include <dt-bindings/clock/stm32mp1-clks.h>
     usart1: serial@40011000 {
-      compatible = "st,stm32-uart";
+      compatible = "st,stm32h7-uart";
       reg = <0x40011000 0x400>;
       interrupts = <37>;
       clocks = <&rcc 0 164>;
       dmas = <&dma2 2 4 0x414 0x0>,
              <&dma2 7 4 0x414 0x0>;
       dma-names = "rx", "tx";
+      st,rx-fifo-threshold-bytes = <4>;
+      st,tx-fifo-threshold-bytes = <4>;
       rs485-rts-active-low;
     };