blob: 12137fe80acff3a53473bfe83d5cc7b087b2bae1 [file] [log] [blame]
Rob Herringdf230072019-01-14 11:29:29 -06001# 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:
Zhen Lei8f082dc2021-05-06 21:20:48 +080013 - $ref: serial.yaml#
Rob Herringdf230072019-01-14 11:29:29 -060014
15properties:
16 compatible:
17 oneOf:
18 - items:
19 - enum:
Rob Herring896efcc2019-01-14 11:29:30 -060020 - renesas,r9a06g032-uart
21 - renesas,r9a06g033-uart
22 - const: renesas,rzn1-uart
23 - items:
24 - enum:
Rob Herringdf230072019-01-14 11:29:29 -060025 - rockchip,px30-uart
Andreas Färber1d751b02021-05-17 01:05:44 +020026 - rockchip,rk1808-uart
Rob Herringdf230072019-01-14 11:29:29 -060027 - rockchip,rk3036-uart
28 - rockchip,rk3066-uart
29 - rockchip,rk3188-uart
30 - rockchip,rk3288-uart
Johan Jonkerae9fdd22020-03-02 14:39:10 +010031 - rockchip,rk3308-uart
Rob Herringdf230072019-01-14 11:29:29 -060032 - rockchip,rk3328-uart
33 - rockchip,rk3368-uart
34 - rockchip,rk3399-uart
Liang Chen52008eb2021-04-29 16:11:43 +080035 - rockchip,rk3568-uart
Rob Herringdf230072019-01-14 11:29:29 -060036 - rockchip,rv1108-uart
37 - const: snps,dw-apb-uart
38 - items:
39 - enum:
40 - brcm,bcm11351-dw-apb-uart
41 - brcm,bcm21664-dw-apb-uart
42 - const: snps,dw-apb-uart
Emil Renner Berthingd0b65b12021-10-07 14:24:29 +020043 - items:
44 - enum:
45 - starfive,jh7100-hsuart
46 - starfive,jh7100-uart
47 - const: snps,dw-apb-uart
Rob Herringdf230072019-01-14 11:29:29 -060048 - const: snps,dw-apb-uart
49
50 reg:
51 maxItems: 1
52
53 interrupts:
54 maxItems: 1
55
56 clock-frequency: true
57
58 clocks:
59 minItems: 1
60 maxItems: 2
61
62 clock-names:
63 items:
64 - const: baudclk
65 - const: apb_pclk
66
67 snps,uart-16550-compatible:
68 description: reflects the value of UART_16550_COMPATIBLE configuration
69 parameter. Define this if your UART does not implement the busy functionality.
70 type: boolean
71
72 resets:
73 maxItems: 1
74
75 reg-shift: true
76
77 reg-io-width: true
78
79 dcd-override:
80 description: Override the DCD modem status signal. This signal will
81 always be reported as active instead of being obtained from the modem
82 status register. Define this if your serial port does not use this
83 pin.
84 type: boolean
85
86 dsr-override:
87 description: Override the DTS modem status signal. This signal will
88 always be reported as active instead of being obtained from the modem
89 status register. Define this if your serial port does not use this
90 pin.
91 type: boolean
92
93 cts-override:
94 description: Override the CTS modem status signal. This signal will
95 always be reported as active instead of being obtained from the modem
96 status register. Define this if your serial port does not use this
97 pin.
98 type: boolean
99
100 ri-override:
101 description: Override the RI modem status signal. This signal will always
102 be reported as inactive instead of being obtained from the modem status
103 register. Define this if your serial port does not use this pin.
104 type: boolean
105
106required:
107 - compatible
108 - reg
109 - interrupts
110
Rob Herring6fdc6e22020-10-05 13:38:27 -0500111unevaluatedProperties: false
112
Rob Herringdf230072019-01-14 11:29:29 -0600113examples:
114 - |
115 serial@80230000 {
116 compatible = "snps,dw-apb-uart";
117 reg = <0x80230000 0x100>;
118 clock-frequency = <3686400>;
119 interrupts = <10>;
120 reg-shift = <2>;
121 reg-io-width = <4>;
122 dcd-override;
123 dsr-override;
124 cts-override;
125 ri-override;
126 };
127
128 - |
129 // Example with one clock:
130 serial@80230000 {
131 compatible = "snps,dw-apb-uart";
132 reg = <0x80230000 0x100>;
133 clocks = <&baudclk>;
134 interrupts = <10>;
135 reg-shift = <2>;
136 reg-io-width = <4>;
137 };
138
139 - |
140 // Example with two clocks:
141 serial@80230000 {
142 compatible = "snps,dw-apb-uart";
143 reg = <0x80230000 0x100>;
144 clocks = <&baudclk>, <&apb_pclk>;
145 clock-names = "baudclk", "apb_pclk";
146 interrupts = <10>;
147 reg-shift = <2>;
148 reg-io-width = <4>;
149 };
150...