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