1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| # 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@st.com>
|
| title: STMicroelectronics STM32 USART bindings
|
| allOf:
| - $ref: rs485.yaml
|
| 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
|
| uart-has-rtscts: true
|
| dmas:
| minItems: 1
| maxItems: 2
|
| dma-names:
| items:
| enum: [ rx, tx ]
| minItems: 1
| maxItems: 2
|
| cts-gpios:
| maxItems: 1
|
| rts-gpios:
| maxItems: 1
|
| wakeup-source: true
|
| rs485-rts-delay: true
| rs485-rts-active-low: true
| linux,rs485-enabled-at-boot-time: true
| rs485-rx-during-tx: true
|
| if:
| required:
| - st,hw-flow-ctrl
| then:
| properties:
| cts-gpios: false
| rts-gpios: false
|
| required:
| - compatible
| - reg
| - interrupts
| - clocks
|
| additionalProperties:
| type: object
|
| examples:
| - |
| #include <dt-bindings/clock/stm32mp1-clks.h>
| usart1: serial@40011000 {
| compatible = "st,stm32-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";
| rs485-rts-active-low;
| };
|
| ...
|
|