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
29007b20e9SJohan Jonker              - rockchip,rk3128-uart
30df230079SRob Herring              - rockchip,rk3188-uart
31df230079SRob Herring              - rockchip,rk3288-uart
32ae9fdd23SJohan Jonker              - rockchip,rk3308-uart
33df230079SRob Herring              - rockchip,rk3328-uart
34df230079SRob Herring              - rockchip,rk3368-uart
35df230079SRob Herring              - rockchip,rk3399-uart
3652008ebdSLiang Chen              - rockchip,rk3568-uart
371fce2867SSebastian Reichel              - rockchip,rk3588-uart
38df230079SRob Herring              - rockchip,rv1108-uart
390f42d7f2SJagan Teki              - rockchip,rv1126-uart
40df230079SRob Herring          - const: snps,dw-apb-uart
41df230079SRob Herring      - items:
42df230079SRob Herring          - enum:
43df230079SRob Herring              - brcm,bcm11351-dw-apb-uart
44df230079SRob Herring              - brcm,bcm21664-dw-apb-uart
45df230079SRob Herring          - const: snps,dw-apb-uart
46d0b65b15SEmil Renner Berthing      - items:
47d0b65b15SEmil Renner Berthing          - enum:
48d0b65b15SEmil Renner Berthing              - starfive,jh7100-hsuart
49d0b65b15SEmil Renner Berthing              - starfive,jh7100-uart
50d0b65b15SEmil Renner Berthing          - const: snps,dw-apb-uart
51df230079SRob Herring      - const: snps,dw-apb-uart
52df230079SRob Herring
53df230079SRob Herring  reg:
54df230079SRob Herring    maxItems: 1
55df230079SRob Herring
56df230079SRob Herring  interrupts:
57df230079SRob Herring    maxItems: 1
58df230079SRob Herring
59df230079SRob Herring  clock-frequency: true
60df230079SRob Herring
61df230079SRob Herring  clocks:
62df230079SRob Herring    minItems: 1
63df230079SRob Herring    maxItems: 2
64df230079SRob Herring
65df230079SRob Herring  clock-names:
66df230079SRob Herring    items:
67df230079SRob Herring      - const: baudclk
68df230079SRob Herring      - const: apb_pclk
69df230079SRob Herring
70370f696eSConor Dooley  dmas:
71dedd376eSKrzysztof Kozlowski    maxItems: 2
72370f696eSConor Dooley
73370f696eSConor Dooley  dma-names:
74370f696eSConor Dooley    items:
75370f696eSConor Dooley      - const: tx
76*ec956e2cSCristian Ciocaltea      - const: rx
77370f696eSConor Dooley
78df230079SRob Herring  snps,uart-16550-compatible:
79df230079SRob Herring    description: reflects the value of UART_16550_COMPATIBLE configuration
80df230079SRob Herring      parameter. Define this if your UART does not implement the busy functionality.
81df230079SRob Herring    type: boolean
82df230079SRob Herring
83df230079SRob Herring  resets:
84df230079SRob Herring    maxItems: 1
85df230079SRob Herring
86df230079SRob Herring  reg-shift: true
87df230079SRob Herring
88df230079SRob Herring  reg-io-width: true
89df230079SRob Herring
90df230079SRob Herring  dcd-override:
91df230079SRob Herring    description: Override the DCD modem status signal. This signal will
92df230079SRob Herring      always be reported as active instead of being obtained from the modem
93df230079SRob Herring      status register. Define this if your serial port does not use this
94df230079SRob Herring      pin.
95df230079SRob Herring    type: boolean
96df230079SRob Herring
97df230079SRob Herring  dsr-override:
98df230079SRob Herring    description: Override the DTS modem status signal. This signal will
99df230079SRob Herring      always be reported as active instead of being obtained from the modem
100df230079SRob Herring      status register. Define this if your serial port does not use this
101df230079SRob Herring      pin.
102df230079SRob Herring    type: boolean
103df230079SRob Herring
104df230079SRob Herring  cts-override:
105df230079SRob Herring    description: Override the CTS modem status signal. This signal will
106df230079SRob Herring      always be reported as active instead of being obtained from the modem
107df230079SRob Herring      status register. Define this if your serial port does not use this
108df230079SRob Herring      pin.
109df230079SRob Herring    type: boolean
110df230079SRob Herring
111df230079SRob Herring  ri-override:
112df230079SRob Herring    description: Override the RI modem status signal. This signal will always
113df230079SRob Herring      be reported as inactive instead of being obtained from the modem status
114df230079SRob Herring      register. Define this if your serial port does not use this pin.
115df230079SRob Herring    type: boolean
116df230079SRob Herring
117df230079SRob Herringrequired:
118df230079SRob Herring  - compatible
119df230079SRob Herring  - reg
120df230079SRob Herring
1216fdc6e23SRob HerringunevaluatedProperties: false
1226fdc6e23SRob Herring
123df230079SRob Herringexamples:
124df230079SRob Herring  - |
125df230079SRob Herring    serial@80230000 {
126df230079SRob Herring      compatible = "snps,dw-apb-uart";
127df230079SRob Herring      reg = <0x80230000 0x100>;
128df230079SRob Herring      clock-frequency = <3686400>;
129df230079SRob Herring      interrupts = <10>;
130df230079SRob Herring      reg-shift = <2>;
131df230079SRob Herring      reg-io-width = <4>;
132df230079SRob Herring      dcd-override;
133df230079SRob Herring      dsr-override;
134df230079SRob Herring      cts-override;
135df230079SRob Herring      ri-override;
136df230079SRob Herring    };
137df230079SRob Herring
138df230079SRob Herring  - |
139df230079SRob Herring    // Example with one clock:
140df230079SRob Herring    serial@80230000 {
141df230079SRob Herring      compatible = "snps,dw-apb-uart";
142df230079SRob Herring      reg = <0x80230000 0x100>;
143df230079SRob Herring      clocks = <&baudclk>;
144df230079SRob Herring      interrupts = <10>;
145df230079SRob Herring      reg-shift = <2>;
146df230079SRob Herring      reg-io-width = <4>;
147df230079SRob Herring    };
148df230079SRob Herring
149df230079SRob Herring  - |
150df230079SRob Herring    // Example with two clocks:
151df230079SRob Herring    serial@80230000 {
152df230079SRob Herring      compatible = "snps,dw-apb-uart";
153df230079SRob Herring      reg = <0x80230000 0x100>;
154df230079SRob Herring      clocks = <&baudclk>, <&apb_pclk>;
155df230079SRob Herring      clock-names = "baudclk", "apb_pclk";
156df230079SRob Herring      interrupts = <10>;
157df230079SRob Herring      reg-shift = <2>;
158df230079SRob Herring      reg-io-width = <4>;
159df230079SRob Herring    };
160df230079SRob Herring...
161