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:
20df230079SRob Herring              - rockchip,px30-uart
21df230079SRob Herring              - rockchip,rk3036-uart
22df230079SRob Herring              - rockchip,rk3066-uart
23df230079SRob Herring              - rockchip,rk3188-uart
24df230079SRob Herring              - rockchip,rk3288-uart
25df230079SRob Herring              - rockchip,rk3328-uart
26df230079SRob Herring              - rockchip,rk3368-uart
27df230079SRob Herring              - rockchip,rk3399-uart
28df230079SRob Herring              - rockchip,rv1108-uart
29df230079SRob Herring          - const: snps,dw-apb-uart
30df230079SRob Herring      - items:
31df230079SRob Herring          - enum:
32df230079SRob Herring              - brcm,bcm11351-dw-apb-uart
33df230079SRob Herring              - brcm,bcm21664-dw-apb-uart
34df230079SRob Herring          - const: snps,dw-apb-uart
35df230079SRob Herring      - const: snps,dw-apb-uart
36df230079SRob Herring
37df230079SRob Herring  reg:
38df230079SRob Herring    maxItems: 1
39df230079SRob Herring
40df230079SRob Herring  interrupts:
41df230079SRob Herring    maxItems: 1
42df230079SRob Herring
43df230079SRob Herring  clock-frequency: true
44df230079SRob Herring
45df230079SRob Herring  clocks:
46df230079SRob Herring    minItems: 1
47df230079SRob Herring    maxItems: 2
48df230079SRob Herring
49df230079SRob Herring  clock-names:
50df230079SRob Herring    items:
51df230079SRob Herring      - const: baudclk
52df230079SRob Herring      - const: apb_pclk
53df230079SRob Herring
54df230079SRob Herring  snps,uart-16550-compatible:
55df230079SRob Herring    description: reflects the value of UART_16550_COMPATIBLE configuration
56df230079SRob Herring      parameter. Define this if your UART does not implement the busy functionality.
57df230079SRob Herring    type: boolean
58df230079SRob Herring
59df230079SRob Herring  resets:
60df230079SRob Herring    maxItems: 1
61df230079SRob Herring
62df230079SRob Herring  reg-shift: true
63df230079SRob Herring
64df230079SRob Herring  reg-io-width: true
65df230079SRob Herring
66df230079SRob Herring  dcd-override:
67df230079SRob Herring    description: Override the DCD modem status signal. This signal will
68df230079SRob Herring      always be reported as active instead of being obtained from the modem
69df230079SRob Herring      status register. Define this if your serial port does not use this
70df230079SRob Herring      pin.
71df230079SRob Herring    type: boolean
72df230079SRob Herring
73df230079SRob Herring  dsr-override:
74df230079SRob Herring    description: Override the DTS modem status signal. This signal will
75df230079SRob Herring      always be reported as active instead of being obtained from the modem
76df230079SRob Herring      status register. Define this if your serial port does not use this
77df230079SRob Herring      pin.
78df230079SRob Herring    type: boolean
79df230079SRob Herring
80df230079SRob Herring  cts-override:
81df230079SRob Herring    description: Override the CTS modem status signal. This signal will
82df230079SRob Herring      always be reported as active instead of being obtained from the modem
83df230079SRob Herring      status register. Define this if your serial port does not use this
84df230079SRob Herring      pin.
85df230079SRob Herring    type: boolean
86df230079SRob Herring
87df230079SRob Herring  ri-override:
88df230079SRob Herring    description: Override the RI modem status signal. This signal will always
89df230079SRob Herring      be reported as inactive instead of being obtained from the modem status
90df230079SRob Herring      register. Define this if your serial port does not use this pin.
91df230079SRob Herring    type: boolean
92df230079SRob Herring
93df230079SRob Herringrequired:
94df230079SRob Herring  - compatible
95df230079SRob Herring  - reg
96df230079SRob Herring  - interrupts
97df230079SRob Herring
98df230079SRob Herringexamples:
99df230079SRob Herring  - |
100df230079SRob Herring    serial@80230000 {
101df230079SRob Herring      compatible = "snps,dw-apb-uart";
102df230079SRob Herring      reg = <0x80230000 0x100>;
103df230079SRob Herring      clock-frequency = <3686400>;
104df230079SRob Herring      interrupts = <10>;
105df230079SRob Herring      reg-shift = <2>;
106df230079SRob Herring      reg-io-width = <4>;
107df230079SRob Herring      dcd-override;
108df230079SRob Herring      dsr-override;
109df230079SRob Herring      cts-override;
110df230079SRob Herring      ri-override;
111df230079SRob Herring    };
112df230079SRob Herring
113df230079SRob Herring  - |
114df230079SRob Herring    // Example with one clock:
115df230079SRob Herring    serial@80230000 {
116df230079SRob Herring      compatible = "snps,dw-apb-uart";
117df230079SRob Herring      reg = <0x80230000 0x100>;
118df230079SRob Herring      clocks = <&baudclk>;
119df230079SRob Herring      interrupts = <10>;
120df230079SRob Herring      reg-shift = <2>;
121df230079SRob Herring      reg-io-width = <4>;
122df230079SRob Herring    };
123df230079SRob Herring
124df230079SRob Herring  - |
125df230079SRob Herring    // Example with two clocks:
126df230079SRob Herring    serial@80230000 {
127df230079SRob Herring      compatible = "snps,dw-apb-uart";
128df230079SRob Herring      reg = <0x80230000 0x100>;
129df230079SRob Herring      clocks = <&baudclk>, <&apb_pclk>;
130df230079SRob Herring      clock-names = "baudclk", "apb_pclk";
131df230079SRob Herring      interrupts = <10>;
132df230079SRob Herring      reg-shift = <2>;
133df230079SRob Herring      reg-io-width = <4>;
134df230079SRob Herring    };
135df230079SRob Herring...
136