| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
- %YAML 1.2
- ---
- $id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml#
- $schema: http://devicetree.org/meta-schemas/core.yaml#
- maintainers:
- - Erwan Le Ray <erwan.leray@foss.st.com>
- title: STMicroelectronics STM32 USART
- properties:
- compatible:
- enum:
- - st,stm32-uart
- - st,stm32f7-uart
- - st,stm32h7-uart
- reg:
- maxItems: 1
- interrupts:
- maxItems: 1
- clocks:
- maxItems: 1
- resets:
- maxItems: 1
- label:
- description: label associated with this uart
- st,hw-flow-ctrl:
- description: enable hardware flow control (deprecated)
- $ref: /schemas/types.yaml#/definitions/flag
- rx-tx-swap: true
- dmas:
- minItems: 1
- maxItems: 2
- dma-names:
- items:
- enum: [ rx, tx ]
- minItems: 1
- maxItems: 2
- # cts-gpios and rts-gpios properties can be used instead of 'uart-has-rtscts'
- # or 'st,hw-flow-ctrl' (deprecated) for making use of any gpio pins for flow
- # control instead of dedicated pins.
- #
- # It should be noted that both cts-gpios/rts-gpios and 'uart-has-rtscts' or
- # 'st,hw-flow-ctrl' (deprecated) properties cannot co-exist in a design.
- cts-gpios: true
- rts-gpios: true
- wakeup-source: true
- power-domains:
- maxItems: 1
- rx-threshold:
- description:
- If value is set to 1, RX FIFO threshold is disabled.
- enum: [1, 2, 4, 8, 12, 14, 16]
- default: 8
- tx-threshold:
- description:
- If value is set to 1, TX FIFO threshold is disabled.
- enum: [1, 2, 4, 8, 12, 14, 16]
- default: 8
- access-controllers:
- minItems: 1
- maxItems: 2
- allOf:
- - $ref: rs485.yaml#
- - $ref: serial.yaml#
- - if:
- required:
- - st,hw-flow-ctrl
- then:
- properties:
- cts-gpios: false
- rts-gpios: false
- - if:
- properties:
- compatible:
- const: st,stm32-uart
- then:
- properties:
- rx-tx-swap: false
- - if:
- properties:
- compatible:
- contains:
- enum:
- - st,stm32-uart
- - st,stm32f7-uart
- then:
- properties:
- rx-threshold: false
- tx-threshold: false
- required:
- - compatible
- - reg
- - interrupts
- - clocks
- unevaluatedProperties: false
- examples:
- - |
- #include <dt-bindings/clock/stm32mp1-clks.h>
- usart1: serial@40011000 {
- 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";
- rx-threshold = <4>;
- tx-threshold = <4>;
- rs485-rts-active-low;
- };
- ...
|