Commit | Line | Data |
---|---|---|
af1c2d81 BG |
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: | |
f4eedebd | 8 | - Erwan Le Ray <erwan.leray@foss.st.com> |
af1c2d81 | 9 | |
84e85359 | 10 | title: STMicroelectronics STM32 USART |
af1c2d81 | 11 | |
af1c2d81 BG |
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: | |
b2cc2b51 | 35 | description: enable hardware flow control (deprecated) |
af1c2d81 BG |
36 | $ref: /schemas/types.yaml#/definitions/flag |
37 | ||
1b8dc398 MD |
38 | rx-tx-swap: true |
39 | ||
af1c2d81 BG |
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 | ||
9ba8377c ELR |
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 | |
888ae871 | 58 | |
af1c2d81 BG |
59 | wakeup-source: true |
60 | ||
d6c0d892 VC |
61 | power-domains: |
62 | maxItems: 1 | |
63 | ||
cd9de06e ELR |
64 | rx-threshold: |
65 | description: | |
66 | If value is set to 1, RX FIFO threshold is disabled. | |
67 | enum: [1, 2, 4, 8, 12, 14, 16] | |
68 | default: 8 | |
69 | ||
70 | tx-threshold: | |
71 | description: | |
72 | If value is set to 1, TX FIFO threshold is disabled. | |
73 | enum: [1, 2, 4, 8, 12, 14, 16] | |
74 | default: 8 | |
75 | ||
02ec75ed GC |
76 | access-controllers: |
77 | minItems: 1 | |
78 | maxItems: 2 | |
79 | ||
1b8dc398 MD |
80 | allOf: |
81 | - $ref: rs485.yaml# | |
82 | - $ref: serial.yaml# | |
83 | - if: | |
84 | required: | |
85 | - st,hw-flow-ctrl | |
86 | then: | |
87 | properties: | |
88 | cts-gpios: false | |
89 | rts-gpios: false | |
90 | - if: | |
91 | properties: | |
92 | compatible: | |
93 | const: st,stm32-uart | |
94 | then: | |
95 | properties: | |
96 | rx-tx-swap: false | |
cd9de06e ELR |
97 | - if: |
98 | properties: | |
99 | compatible: | |
100 | contains: | |
101 | enum: | |
102 | - st,stm32-uart | |
103 | - st,stm32f7-uart | |
104 | then: | |
105 | properties: | |
106 | rx-threshold: false | |
107 | tx-threshold: false | |
888ae871 | 108 | |
af1c2d81 BG |
109 | required: |
110 | - compatible | |
111 | - reg | |
112 | - interrupts | |
113 | - clocks | |
114 | ||
8f082dcf | 115 | unevaluatedProperties: false |
af1c2d81 BG |
116 | |
117 | examples: | |
118 | - | | |
119 | #include <dt-bindings/clock/stm32mp1-clks.h> | |
120 | usart1: serial@40011000 { | |
cd9de06e | 121 | compatible = "st,stm32h7-uart"; |
af1c2d81 BG |
122 | reg = <0x40011000 0x400>; |
123 | interrupts = <37>; | |
124 | clocks = <&rcc 0 164>; | |
125 | dmas = <&dma2 2 4 0x414 0x0>, | |
126 | <&dma2 7 4 0x414 0x0>; | |
127 | dma-names = "rx", "tx"; | |
cd9de06e ELR |
128 | rx-threshold = <4>; |
129 | tx-threshold = <4>; | |
af1c2d81 BG |
130 | rs485-rts-active-low; |
131 | }; | |
132 | ||
133 | ... |