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,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
99required:
100  - compatible
101  - reg
102  - interrupts
103
104unevaluatedProperties: false
105
106examples:
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...
144