Merge tag 'riscv-for-linus-5.14-mw0' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / serial / snps-dw-apb-uart.yaml
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
7 title: Synopsys DesignWare ABP UART
8
9 maintainers:
10   - Rob Herring <robh@kernel.org>
11
12 allOf:
13   - $ref: serial.yaml#
14
15 properties:
16   compatible:
17     oneOf:
18       - items:
19           - enum:
20               - renesas,r9a06g032-uart
21               - renesas,r9a06g033-uart
22           - const: renesas,rzn1-uart
23       - items:
24           - enum:
25               - rockchip,px30-uart
26               - rockchip,rk1808-uart
27               - rockchip,rk3036-uart
28               - rockchip,rk3066-uart
29               - rockchip,rk3188-uart
30               - rockchip,rk3288-uart
31               - rockchip,rk3308-uart
32               - rockchip,rk3328-uart
33               - rockchip,rk3368-uart
34               - rockchip,rk3399-uart
35               - rockchip,rk3568-uart
36               - 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
43       - const: snps,dw-apb-uart
44
45   reg:
46     maxItems: 1
47
48   interrupts:
49     maxItems: 1
50
51   clock-frequency: true
52
53   clocks:
54     minItems: 1
55     maxItems: 2
56
57   clock-names:
58     items:
59       - const: baudclk
60       - const: apb_pclk
61
62   snps,uart-16550-compatible:
63     description: reflects the value of UART_16550_COMPATIBLE configuration
64       parameter. Define this if your UART does not implement the busy functionality.
65     type: boolean
66
67   resets:
68     maxItems: 1
69
70   reg-shift: true
71
72   reg-io-width: true
73
74   dcd-override:
75     description: Override the DCD modem status signal. This signal will
76       always be reported as active instead of being obtained from the modem
77       status register. Define this if your serial port does not use this
78       pin.
79     type: boolean
80
81   dsr-override:
82     description: Override the DTS modem status signal. This signal will
83       always be reported as active instead of being obtained from the modem
84       status register. Define this if your serial port does not use this
85       pin.
86     type: boolean
87
88   cts-override:
89     description: Override the CTS modem status signal. This signal will
90       always be reported as active instead of being obtained from the modem
91       status register. Define this if your serial port does not use this
92       pin.
93     type: boolean
94
95   ri-override:
96     description: Override the RI modem status signal. This signal will always
97       be reported as inactive instead of being obtained from the modem status
98       register. Define this if your serial port does not use this pin.
99     type: boolean
100
101 required:
102   - compatible
103   - reg
104   - interrupts
105
106 unevaluatedProperties: false
107
108 examples:
109   - |
110     serial@80230000 {
111       compatible = "snps,dw-apb-uart";
112       reg = <0x80230000 0x100>;
113       clock-frequency = <3686400>;
114       interrupts = <10>;
115       reg-shift = <2>;
116       reg-io-width = <4>;
117       dcd-override;
118       dsr-override;
119       cts-override;
120       ri-override;
121     };
122
123   - |
124     // Example with one clock:
125     serial@80230000 {
126       compatible = "snps,dw-apb-uart";
127       reg = <0x80230000 0x100>;
128       clocks = <&baudclk>;
129       interrupts = <10>;
130       reg-shift = <2>;
131       reg-io-width = <4>;
132     };
133
134   - |
135     // Example with two clocks:
136     serial@80230000 {
137       compatible = "snps,dw-apb-uart";
138       reg = <0x80230000 0x100>;
139       clocks = <&baudclk>, <&apb_pclk>;
140       clock-names = "baudclk", "apb_pclk";
141       interrupts = <10>;
142       reg-shift = <2>;
143       reg-io-width = <4>;
144     };
145 ...