Message ID | 20210406072122.27384-2-erwan.leray@foss.st.com |
---|---|
State | New |
Headers | show |
Series | stm32 usart add fifo threshold configuration | expand |
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 --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; };