1df230079SRob Herring# SPDX-License-Identifier: GPL-2.0
2df230079SRob Herring%YAML 1.2
3df230079SRob Herring---
4df230079SRob Herring$id: http://devicetree.org/schemas/serial/snps-dw-apb-uart.yaml#
5df230079SRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6df230079SRob Herring
7df230079SRob Herringtitle: Synopsys DesignWare ABP UART
8df230079SRob Herring
9df230079SRob Herringmaintainers:
10df230079SRob Herring  - Rob Herring <robh@kernel.org>
11df230079SRob Herring
12df230079SRob HerringallOf:
13df230079SRob Herring  - $ref: /schemas/serial.yaml#
14df230079SRob Herring
15df230079SRob Herringproperties:
16df230079SRob Herring  compatible:
17df230079SRob Herring    oneOf:
18df230079SRob Herring      - items:
19df230079SRob Herring          - enum:
20896efccfSRob Herring              - renesas,r9a06g032-uart
21896efccfSRob Herring              - renesas,r9a06g033-uart
22896efccfSRob Herring          - const: renesas,rzn1-uart
23896efccfSRob Herring      - items:
24896efccfSRob Herring          - enum:
25df230079SRob Herring              - rockchip,px30-uart
26df230079SRob Herring              - rockchip,rk3036-uart
27df230079SRob Herring              - rockchip,rk3066-uart
28df230079SRob Herring              - rockchip,rk3188-uart
29df230079SRob Herring              - rockchip,rk3288-uart
30ae9fdd23SJohan Jonker              - rockchip,rk3308-uart
31df230079SRob Herring              - rockchip,rk3328-uart
32df230079SRob Herring              - rockchip,rk3368-uart
33df230079SRob Herring              - rockchip,rk3399-uart
34df230079SRob Herring              - rockchip,rv1108-uart
35df230079SRob Herring          - const: snps,dw-apb-uart
36df230079SRob Herring      - items:
37df230079SRob Herring          - enum:
38df230079SRob Herring              - brcm,bcm11351-dw-apb-uart
39df230079SRob Herring              - brcm,bcm21664-dw-apb-uart
40df230079SRob Herring          - const: snps,dw-apb-uart
41df230079SRob Herring      - const: snps,dw-apb-uart
42df230079SRob Herring
43df230079SRob Herring  reg:
44df230079SRob Herring    maxItems: 1
45df230079SRob Herring
46df230079SRob Herring  interrupts:
47df230079SRob Herring    maxItems: 1
48df230079SRob Herring
49df230079SRob Herring  clock-frequency: true
50df230079SRob Herring
51df230079SRob Herring  clocks:
52df230079SRob Herring    minItems: 1
53df230079SRob Herring    maxItems: 2
54df230079SRob Herring
55df230079SRob Herring  clock-names:
56df230079SRob Herring    items:
57df230079SRob Herring      - const: baudclk
58df230079SRob Herring      - const: apb_pclk
59df230079SRob Herring
60df230079SRob Herring  snps,uart-16550-compatible:
61df230079SRob Herring    description: reflects the value of UART_16550_COMPATIBLE configuration
62df230079SRob Herring      parameter. Define this if your UART does not implement the busy functionality.
63df230079SRob Herring    type: boolean
64df230079SRob Herring
65df230079SRob Herring  resets:
66df230079SRob Herring    maxItems: 1
67df230079SRob Herring
68df230079SRob Herring  reg-shift: true
69df230079SRob Herring
70df230079SRob Herring  reg-io-width: true
71df230079SRob Herring
72df230079SRob Herring  dcd-override:
73df230079SRob Herring    description: Override the DCD modem status signal. This signal will
74df230079SRob Herring      always be reported as active instead of being obtained from the modem
75df230079SRob Herring      status register. Define this if your serial port does not use this
76df230079SRob Herring      pin.
77df230079SRob Herring    type: boolean
78df230079SRob Herring
79df230079SRob Herring  dsr-override:
80df230079SRob Herring    description: Override the DTS modem status signal. This signal will
81df230079SRob Herring      always be reported as active instead of being obtained from the modem
82df230079SRob Herring      status register. Define this if your serial port does not use this
83df230079SRob Herring      pin.
84df230079SRob Herring    type: boolean
85df230079SRob Herring
86df230079SRob Herring  cts-override:
87df230079SRob Herring    description: Override the CTS modem status signal. This signal will
88df230079SRob Herring      always be reported as active instead of being obtained from the modem
89df230079SRob Herring      status register. Define this if your serial port does not use this
90df230079SRob Herring      pin.
91df230079SRob Herring    type: boolean
92df230079SRob Herring
93df230079SRob Herring  ri-override:
94df230079SRob Herring    description: Override the RI modem status signal. This signal will always
95df230079SRob Herring      be reported as inactive instead of being obtained from the modem status
96df230079SRob Herring      register. Define this if your serial port does not use this pin.
97df230079SRob Herring    type: boolean
98df230079SRob Herring
99df230079SRob Herringrequired:
100df230079SRob Herring  - compatible
101df230079SRob Herring  - reg
102df230079SRob Herring  - interrupts
103df230079SRob Herring
1046fdc6e23SRob HerringunevaluatedProperties: false
1056fdc6e23SRob Herring
106df230079SRob Herringexamples:
107df230079SRob Herring  - |
108df230079SRob Herring    serial@80230000 {
109df230079SRob Herring      compatible = "snps,dw-apb-uart";
110df230079SRob Herring      reg = <0x80230000 0x100>;
111df230079SRob Herring      clock-frequency = <3686400>;
112df230079SRob Herring      interrupts = <10>;
113df230079SRob Herring      reg-shift = <2>;
114df230079SRob Herring      reg-io-width = <4>;
115df230079SRob Herring      dcd-override;
116df230079SRob Herring      dsr-override;
117df230079SRob Herring      cts-override;
118df230079SRob Herring      ri-override;
119df230079SRob Herring    };
120df230079SRob Herring
121df230079SRob Herring  - |
122df230079SRob Herring    // Example with one clock:
123df230079SRob Herring    serial@80230000 {
124df230079SRob Herring      compatible = "snps,dw-apb-uart";
125df230079SRob Herring      reg = <0x80230000 0x100>;
126df230079SRob Herring      clocks = <&baudclk>;
127df230079SRob Herring      interrupts = <10>;
128df230079SRob Herring      reg-shift = <2>;
129df230079SRob Herring      reg-io-width = <4>;
130df230079SRob Herring    };
131df230079SRob Herring
132df230079SRob Herring  - |
133df230079SRob Herring    // Example with two clocks:
134df230079SRob Herring    serial@80230000 {
135df230079SRob Herring      compatible = "snps,dw-apb-uart";
136df230079SRob Herring      reg = <0x80230000 0x100>;
137df230079SRob Herring      clocks = <&baudclk>, <&apb_pclk>;
138df230079SRob Herring      clock-names = "baudclk", "apb_pclk";
139df230079SRob Herring      interrupts = <10>;
140df230079SRob Herring      reg-shift = <2>;
141df230079SRob Herring      reg-io-width = <4>;
142df230079SRob Herring    };
143df230079SRob Herring...
144