]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/serial/st,stm32-uart.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / Bindings / serial / st,stm32-uart.yaml
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
7 maintainers:
8 - Erwan Le Ray <erwan.leray@foss.st.com>
9
10 title: STMicroelectronics STM32 USART
11
12 properties:
13 compatible:
14 enum:
15 - st,stm32-uart
16 - st,stm32f7-uart
17 - st,stm32h7-uart
18
19 reg:
20 maxItems: 1
21
22 interrupts:
23 maxItems: 1
24
25 clocks:
26 maxItems: 1
27
28 resets:
29 maxItems: 1
30
31 label:
32 description: label associated with this uart
33
34 st,hw-flow-ctrl:
35 description: enable hardware flow control (deprecated)
36 $ref: /schemas/types.yaml#/definitions/flag
37
38 rx-tx-swap: true
39
40 dmas:
41 minItems: 1
42 maxItems: 2
43
44 dma-names:
45 items:
46 enum: [ rx, tx ]
47 minItems: 1
48 maxItems: 2
49
50 # cts-gpios and rts-gpios properties can be used instead of 'uart-has-rtscts'
51 # or 'st,hw-flow-ctrl' (deprecated) for making use of any gpio pins for flow
52 # control instead of dedicated pins.
53 #
54 # It should be noted that both cts-gpios/rts-gpios and 'uart-has-rtscts' or
55 # 'st,hw-flow-ctrl' (deprecated) properties cannot co-exist in a design.
56 cts-gpios: true
57 rts-gpios: true
58
59 wakeup-source: true
60
61 rx-threshold:
62 description:
63 If value is set to 1, RX FIFO threshold is disabled.
64 enum: [1, 2, 4, 8, 12, 14, 16]
65 default: 8
66
67 tx-threshold:
68 description:
69 If value is set to 1, TX FIFO threshold is disabled.
70 enum: [1, 2, 4, 8, 12, 14, 16]
71 default: 8
72
73 allOf:
74 - $ref: rs485.yaml#
75 - $ref: serial.yaml#
76 - if:
77 required:
78 - st,hw-flow-ctrl
79 then:
80 properties:
81 cts-gpios: false
82 rts-gpios: false
83 - if:
84 properties:
85 compatible:
86 const: st,stm32-uart
87 then:
88 properties:
89 rx-tx-swap: false
90 - if:
91 properties:
92 compatible:
93 contains:
94 enum:
95 - st,stm32-uart
96 - st,stm32f7-uart
97 then:
98 properties:
99 rx-threshold: false
100 tx-threshold: false
101
102 required:
103 - compatible
104 - reg
105 - interrupts
106 - clocks
107
108 unevaluatedProperties: false
109
110 examples:
111 - |
112 #include <dt-bindings/clock/stm32mp1-clks.h>
113 usart1: serial@40011000 {
114 compatible = "st,stm32h7-uart";
115 reg = <0x40011000 0x400>;
116 interrupts = <37>;
117 clocks = <&rcc 0 164>;
118 dmas = <&dma2 2 4 0x414 0x0>,
119 <&dma2 7 4 0x414 0x0>;
120 dma-names = "rx", "tx";
121 rx-threshold = <4>;
122 tx-threshold = <4>;
123 rs485-rts-active-low;
124 };
125
126 ...