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