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