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