blob: 1001d2a6ace85fbc37304304049b1e2cdaad781d [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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#
Tom Rini93743d22024-04-01 09:08:13 -040014 - $ref: rs485.yaml#
Tom Rini53633a82024-02-29 12:33:36 -050015
16properties:
17 compatible:
18 oneOf:
19 - items:
20 - enum:
21 - renesas,r9a06g032-uart
22 - renesas,r9a06g033-uart
23 - const: renesas,rzn1-uart
24 - items:
25 - enum:
26 - rockchip,px30-uart
27 - rockchip,rk1808-uart
28 - rockchip,rk3036-uart
29 - rockchip,rk3066-uart
30 - rockchip,rk3128-uart
31 - rockchip,rk3188-uart
32 - rockchip,rk3288-uart
33 - rockchip,rk3308-uart
34 - rockchip,rk3328-uart
35 - rockchip,rk3368-uart
36 - rockchip,rk3399-uart
37 - rockchip,rk3568-uart
38 - rockchip,rk3588-uart
39 - rockchip,rv1108-uart
40 - rockchip,rv1126-uart
41 - const: snps,dw-apb-uart
42 - items:
43 - enum:
44 - brcm,bcm11351-dw-apb-uart
45 - brcm,bcm21664-dw-apb-uart
46 - const: snps,dw-apb-uart
47 - items:
48 - enum:
49 - starfive,jh7100-hsuart
50 - starfive,jh7100-uart
51 - const: snps,dw-apb-uart
52 - const: snps,dw-apb-uart
53
54 reg:
55 maxItems: 1
56
57 interrupts:
58 maxItems: 1
59
60 clock-frequency: true
61
62 clocks:
63 minItems: 1
64 maxItems: 2
65
66 clock-names:
67 items:
68 - const: baudclk
69 - const: apb_pclk
70
71 dmas:
72 maxItems: 2
73
74 dma-names:
75 items:
76 - const: tx
77 - const: rx
78
79 snps,uart-16550-compatible:
80 description: reflects the value of UART_16550_COMPATIBLE configuration
81 parameter. Define this if your UART does not implement the busy functionality.
82 type: boolean
83
84 resets:
85 maxItems: 1
86
87 reg-shift: true
88
89 reg-io-width: true
90
91 dcd-override:
92 description: Override the DCD modem status signal. This signal will
93 always be reported as active instead of being obtained from the modem
94 status register. Define this if your serial port does not use this
95 pin.
96 type: boolean
97
98 dsr-override:
99 description: Override the DTS modem status signal. This signal will
100 always be reported as active instead of being obtained from the modem
101 status register. Define this if your serial port does not use this
102 pin.
103 type: boolean
104
105 cts-override:
106 description: Override the CTS modem status signal. This signal will
107 always be reported as active instead of being obtained from the modem
108 status register. Define this if your serial port does not use this
109 pin.
110 type: boolean
111
112 ri-override:
113 description: Override the RI modem status signal. This signal will always
114 be reported as inactive instead of being obtained from the modem status
115 register. Define this if your serial port does not use this pin.
116 type: boolean
117
118required:
119 - compatible
120 - reg
121
122unevaluatedProperties: false
123
124examples:
125 - |
126 serial@80230000 {
127 compatible = "snps,dw-apb-uart";
128 reg = <0x80230000 0x100>;
129 clock-frequency = <3686400>;
130 interrupts = <10>;
131 reg-shift = <2>;
132 reg-io-width = <4>;
133 dcd-override;
134 dsr-override;
135 cts-override;
136 ri-override;
137 };
138
139 - |
140 // Example with one clock:
141 serial@80230000 {
142 compatible = "snps,dw-apb-uart";
143 reg = <0x80230000 0x100>;
144 clocks = <&baudclk>;
145 interrupts = <10>;
146 reg-shift = <2>;
147 reg-io-width = <4>;
148 };
149
150 - |
151 // Example with two clocks:
152 serial@80230000 {
153 compatible = "snps,dw-apb-uart";
154 reg = <0x80230000 0x100>;
155 clocks = <&baudclk>, <&apb_pclk>;
156 clock-names = "baudclk", "apb_pclk";
157 interrupts = <10>;
158 reg-shift = <2>;
159 reg-io-width = <4>;
160 };
161...