Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/serial/snps-dw-apb-uart.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Synopsys DesignWare ABP UART
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11
12allOf:
13 - $ref: serial.yaml#
14 - $ref: rs485.yaml#
15
16 - if:
17 properties:
18 compatible:
19 contains:
20 const: starfive,jh7110-uart
21 then:
22 properties:
23 resets:
24 minItems: 2
25 else:
26 properties:
27 resets:
28 maxItems: 1
29
30properties:
31 compatible:
32 oneOf:
33 - items:
34 - enum:
35 - renesas,r9a06g032-uart
36 - renesas,r9a06g033-uart
37 - const: renesas,rzn1-uart
38 - items:
39 - enum:
40 - brcm,bcm11351-dw-apb-uart
41 - brcm,bcm21664-dw-apb-uart
42 - rockchip,px30-uart
43 - rockchip,rk1808-uart
44 - rockchip,rk3036-uart
45 - rockchip,rk3066-uart
46 - rockchip,rk3128-uart
47 - rockchip,rk3188-uart
48 - rockchip,rk3288-uart
49 - rockchip,rk3308-uart
50 - rockchip,rk3328-uart
51 - rockchip,rk3368-uart
52 - rockchip,rk3399-uart
53 - rockchip,rk3528-uart
54 - rockchip,rk3568-uart
55 - rockchip,rk3576-uart
56 - rockchip,rk3588-uart
57 - rockchip,rv1108-uart
58 - rockchip,rv1126-uart
59 - sophgo,sg2044-uart
60 - starfive,jh7100-hsuart
61 - starfive,jh7100-uart
62 - starfive,jh7110-uart
63 - const: snps,dw-apb-uart
64 - const: snps,dw-apb-uart
65
66 reg:
67 maxItems: 1
68
69 interrupts:
70 maxItems: 1
71
72 clock-frequency: true
73
74 clocks:
75 minItems: 1
76 maxItems: 2
77
78 clock-names:
79 items:
80 - const: baudclk
81 - const: apb_pclk
82
83 dmas:
84 maxItems: 2
85
86 dma-names:
87 items:
88 - const: tx
89 - const: rx
90
91 snps,uart-16550-compatible:
92 description: reflects the value of UART_16550_COMPATIBLE configuration
93 parameter. Define this if your UART does not implement the busy functionality.
94 type: boolean
95
96 resets:
97 minItems: 1
98 maxItems: 2
99
100 reg-shift: true
101
102 reg-io-width: true
103
104 dcd-override:
105 description: Override the DCD modem status signal. This signal will
106 always be reported as active instead of being obtained from the modem
107 status register. Define this if your serial port does not use this
108 pin.
109 type: boolean
110
111 dsr-override:
112 description: Override the DTS modem status signal. This signal will
113 always be reported as active instead of being obtained from the modem
114 status register. Define this if your serial port does not use this
115 pin.
116 type: boolean
117
118 cts-override:
119 description: Override the CTS modem status signal. This signal will
120 always be reported as active instead of being obtained from the modem
121 status register. Define this if your serial port does not use this
122 pin.
123 type: boolean
124
125 ri-override:
126 description: Override the RI modem status signal. This signal will always
127 be reported as inactive instead of being obtained from the modem status
128 register. Define this if your serial port does not use this pin.
129 type: boolean
130
131required:
132 - compatible
133 - reg
134
135unevaluatedProperties: false
136
137examples:
138 - |
139 serial@80230000 {
140 compatible = "snps,dw-apb-uart";
141 reg = <0x80230000 0x100>;
142 clock-frequency = <3686400>;
143 interrupts = <10>;
144 reg-shift = <2>;
145 reg-io-width = <4>;
146 dcd-override;
147 dsr-override;
148 cts-override;
149 ri-override;
150 };
151
152 - |
153 // Example with one clock:
154 serial@80230000 {
155 compatible = "snps,dw-apb-uart";
156 reg = <0x80230000 0x100>;
157 clocks = <&baudclk>;
158 interrupts = <10>;
159 reg-shift = <2>;
160 reg-io-width = <4>;
161 };
162
163 - |
164 // Example with two clocks:
165 serial@80230000 {
166 compatible = "snps,dw-apb-uart";
167 reg = <0x80230000 0x100>;
168 clocks = <&baudclk>, <&apb_pclk>;
169 clock-names = "baudclk", "apb_pclk";
170 interrupts = <10>;
171 reg-shift = <2>;
172 reg-io-width = <4>;
173 };
174...