1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/serial/st,stm32-uart.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7maintainers:
8  - Erwan Le Ray <erwan.leray@st.com>
9
10title: STMicroelectronics STM32 USART bindings
11
12allOf:
13  - $ref: rs485.yaml
14
15properties:
16  compatible:
17    enum:
18      - st,stm32-uart
19      - st,stm32f7-uart
20      - st,stm32h7-uart
21
22  reg:
23    maxItems: 1
24
25  interrupts:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  resets:
32    maxItems: 1
33
34  label:
35    description: label associated with this uart
36
37  st,hw-flow-ctrl:
38    description: enable hardware flow control
39    $ref: /schemas/types.yaml#/definitions/flag
40
41  dmas:
42    minItems: 1
43    maxItems: 2
44
45  dma-names:
46    items:
47      enum: [ rx, tx ]
48    minItems: 1
49    maxItems: 2
50
51  wakeup-source: true
52
53  rs485-rts-delay: true
54  rs485-rts-active-low: true
55  linux,rs485-enabled-at-boot-time: true
56  rs485-rx-during-tx: true
57
58required:
59  - compatible
60  - reg
61  - interrupts
62  - clocks
63
64additionalProperties: false
65
66examples:
67  - |
68    #include <dt-bindings/clock/stm32mp1-clks.h>
69    usart1: serial@40011000 {
70      compatible = "st,stm32-uart";
71      reg = <0x40011000 0x400>;
72      interrupts = <37>;
73      clocks = <&rcc 0 164>;
74      dmas = <&dma2 2 4 0x414 0x0>,
75             <&dma2 7 4 0x414 0x0>;
76      dma-names = "rx", "tx";
77      rs485-rts-active-low;
78    };
79
80...
81