Merge tag 'v5.11' into next
[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: /schemas/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,rk3036-uart
27               - rockchip,rk3066-uart
28               - rockchip,rk3188-uart
29               - rockchip,rk3288-uart
30               - rockchip,rk3308-uart
31               - rockchip,rk3328-uart
32               - rockchip,rk3368-uart
33               - rockchip,rk3399-uart
34               - rockchip,rv1108-uart
35           - const: snps,dw-apb-uart
36       - items:
37           - enum:
38               - brcm,bcm11351-dw-apb-uart
39               - brcm,bcm21664-dw-apb-uart
40           - const: snps,dw-apb-uart
41       - const: snps,dw-apb-uart
42
43   reg:
44     maxItems: 1
45
46   interrupts:
47     maxItems: 1
48
49   clock-frequency: true
50
51   clocks:
52     minItems: 1
53     maxItems: 2
54
55   clock-names:
56     items:
57       - const: baudclk
58       - const: apb_pclk
59
60   snps,uart-16550-compatible:
61     description: reflects the value of UART_16550_COMPATIBLE configuration
62       parameter. Define this if your UART does not implement the busy functionality.
63     type: boolean
64
65   resets:
66     maxItems: 1
67
68   reg-shift: true
69
70   reg-io-width: true
71
72   dcd-override:
73     description: Override the DCD modem status signal. This signal will
74       always be reported as active instead of being obtained from the modem
75       status register. Define this if your serial port does not use this
76       pin.
77     type: boolean
78
79   dsr-override:
80     description: Override the DTS 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   cts-override:
87     description: Override the CTS 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   ri-override:
94     description: Override the RI modem status signal. This signal will always
95       be reported as inactive instead of being obtained from the modem status
96       register. Define this if your serial port does not use this pin.
97     type: boolean
98
99 required:
100   - compatible
101   - reg
102   - interrupts
103
104 unevaluatedProperties: false
105
106 examples:
107   - |
108     serial@80230000 {
109       compatible = "snps,dw-apb-uart";
110       reg = <0x80230000 0x100>;
111       clock-frequency = <3686400>;
112       interrupts = <10>;
113       reg-shift = <2>;
114       reg-io-width = <4>;
115       dcd-override;
116       dsr-override;
117       cts-override;
118       ri-override;
119     };
120
121   - |
122     // Example with one clock:
123     serial@80230000 {
124       compatible = "snps,dw-apb-uart";
125       reg = <0x80230000 0x100>;
126       clocks = <&baudclk>;
127       interrupts = <10>;
128       reg-shift = <2>;
129       reg-io-width = <4>;
130     };
131
132   - |
133     // Example with two clocks:
134     serial@80230000 {
135       compatible = "snps,dw-apb-uart";
136       reg = <0x80230000 0x100>;
137       clocks = <&baudclk>, <&apb_pclk>;
138       clock-names = "baudclk", "apb_pclk";
139       interrupts = <10>;
140       reg-shift = <2>;
141       reg-io-width = <4>;
142     };
143 ...