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
104examples:
105  - |
106    serial@80230000 {
107      compatible = "snps,dw-apb-uart";
108      reg = <0x80230000 0x100>;
109      clock-frequency = <3686400>;
110      interrupts = <10>;
111      reg-shift = <2>;
112      reg-io-width = <4>;
113      dcd-override;
114      dsr-override;
115      cts-override;
116      ri-override;
117    };
118
119  - |
120    // Example with one clock:
121    serial@80230000 {
122      compatible = "snps,dw-apb-uart";
123      reg = <0x80230000 0x100>;
124      clocks = <&baudclk>;
125      interrupts = <10>;
126      reg-shift = <2>;
127      reg-io-width = <4>;
128    };
129
130  - |
131    // Example with two clocks:
132    serial@80230000 {
133      compatible = "snps,dw-apb-uart";
134      reg = <0x80230000 0x100>;
135      clocks = <&baudclk>, <&apb_pclk>;
136      clock-names = "baudclk", "apb_pclk";
137      interrupts = <10>;
138      reg-shift = <2>;
139      reg-io-width = <4>;
140    };
141...
142