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

From: Erwan Le Ray
Date: Tue Apr 06 2021 - 03:22:06 EST


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@xxxxxxxxxxx>
Signed-off-by: Erwan Le Ray <erwan.leray@xxxxxxxxxxx>

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;
};

--
2.17.1