xref: /openbmc/linux/Documentation/devicetree/bindings/serial/renesas,scif.yaml (revision 1ac731c529cd4d6adbce134754b51ff7d822b145)
1384d00faSGeert Uytterhoeven# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2384d00faSGeert Uytterhoeven%YAML 1.2
3384d00faSGeert Uytterhoeven---
4cb95de8dSRob Herring$id: http://devicetree.org/schemas/serial/renesas,scif.yaml#
5cb95de8dSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
6384d00faSGeert Uytterhoeven
7384d00faSGeert Uytterhoeventitle: Renesas Serial Communication Interface with FIFO (SCIF)
8384d00faSGeert Uytterhoeven
9384d00faSGeert Uytterhoevenmaintainers:
10384d00faSGeert Uytterhoeven  - Geert Uytterhoeven <geert+renesas@glider.be>
11384d00faSGeert Uytterhoeven
12384d00faSGeert UytterhoevenallOf:
13384d00faSGeert Uytterhoeven  - $ref: serial.yaml#
14384d00faSGeert Uytterhoeven
15384d00faSGeert Uytterhoevenproperties:
16384d00faSGeert Uytterhoeven  compatible:
17384d00faSGeert Uytterhoeven    oneOf:
18384d00faSGeert Uytterhoeven      - items:
19384d00faSGeert Uytterhoeven          - enum:
20384d00faSGeert Uytterhoeven              - renesas,scif-r7s72100     # RZ/A1H
21384d00faSGeert Uytterhoeven          - const: renesas,scif           # generic SCIF compatible UART
22384d00faSGeert Uytterhoeven
23384d00faSGeert Uytterhoeven      - items:
24384d00faSGeert Uytterhoeven          - enum:
25384d00faSGeert Uytterhoeven              - renesas,scif-r7s9210      # RZ/A2
26384d00faSGeert Uytterhoeven
27384d00faSGeert Uytterhoeven      - items:
28384d00faSGeert Uytterhoeven          - enum:
29384d00faSGeert Uytterhoeven              - renesas,scif-r8a7778      # R-Car M1
30384d00faSGeert Uytterhoeven              - renesas,scif-r8a7779      # R-Car H1
31384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen1-scif # R-Car Gen1
32384d00faSGeert Uytterhoeven          - const: renesas,scif           # generic SCIF compatible UART
33384d00faSGeert Uytterhoeven
34384d00faSGeert Uytterhoeven      - items:
35384d00faSGeert Uytterhoeven          - enum:
368908a822SLad Prabhakar              - renesas,scif-r8a7742      # RZ/G1H
37384d00faSGeert Uytterhoeven              - renesas,scif-r8a7743      # RZ/G1M
38384d00faSGeert Uytterhoeven              - renesas,scif-r8a7744      # RZ/G1N
39384d00faSGeert Uytterhoeven              - renesas,scif-r8a7745      # RZ/G1E
40384d00faSGeert Uytterhoeven              - renesas,scif-r8a77470     # RZ/G1C
41384d00faSGeert Uytterhoeven              - renesas,scif-r8a7790      # R-Car H2
42384d00faSGeert Uytterhoeven              - renesas,scif-r8a7791      # R-Car M2-W
43384d00faSGeert Uytterhoeven              - renesas,scif-r8a7792      # R-Car V2H
44384d00faSGeert Uytterhoeven              - renesas,scif-r8a7793      # R-Car M2-N
45384d00faSGeert Uytterhoeven              - renesas,scif-r8a7794      # R-Car E2
46384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen2-scif # R-Car Gen2 and RZ/G1
47384d00faSGeert Uytterhoeven          - const: renesas,scif           # generic SCIF compatible UART
48384d00faSGeert Uytterhoeven
49384d00faSGeert Uytterhoeven      - items:
50384d00faSGeert Uytterhoeven          - enum:
51384d00faSGeert Uytterhoeven              - renesas,scif-r8a774a1     # RZ/G2M
52384d00faSGeert Uytterhoeven              - renesas,scif-r8a774b1     # RZ/G2N
53384d00faSGeert Uytterhoeven              - renesas,scif-r8a774c0     # RZ/G2E
54c8d55a22SLad Prabhakar              - renesas,scif-r8a774e1     # RZ/G2H
55384d00faSGeert Uytterhoeven              - renesas,scif-r8a7795      # R-Car H3
56384d00faSGeert Uytterhoeven              - renesas,scif-r8a7796      # R-Car M3-W
57384d00faSGeert Uytterhoeven              - renesas,scif-r8a77961     # R-Car M3-W+
58384d00faSGeert Uytterhoeven              - renesas,scif-r8a77965     # R-Car M3-N
59384d00faSGeert Uytterhoeven              - renesas,scif-r8a77970     # R-Car V3M
60384d00faSGeert Uytterhoeven              - renesas,scif-r8a77980     # R-Car V3H
61384d00faSGeert Uytterhoeven              - renesas,scif-r8a77990     # R-Car E3
62384d00faSGeert Uytterhoeven              - renesas,scif-r8a77995     # R-Car D3
63384d00faSGeert Uytterhoeven          - const: renesas,rcar-gen3-scif # R-Car Gen3 and RZ/G2
64384d00faSGeert Uytterhoeven          - const: renesas,scif           # generic SCIF compatible UART
65384d00faSGeert Uytterhoeven
6692e06e12SLad Prabhakar      - items:
6792e06e12SLad Prabhakar          - enum:
68f26c65daSGeert Uytterhoeven              - renesas,scif-r8a779a0     # R-Car V3U
696aa7cee6SYoshihiro Shimoda              - renesas,scif-r8a779f0     # R-Car S4-8
70fa31528aSGeert Uytterhoeven              - renesas,scif-r8a779g0     # R-Car V4H
716aa7cee6SYoshihiro Shimoda          - const: renesas,rcar-gen4-scif # R-Car Gen4
726aa7cee6SYoshihiro Shimoda          - const: renesas,scif           # generic SCIF compatible UART
736aa7cee6SYoshihiro Shimoda
746aa7cee6SYoshihiro Shimoda      - items:
756aa7cee6SYoshihiro Shimoda          - enum:
7692e06e12SLad Prabhakar              - renesas,scif-r9a07g044      # RZ/G2{L,LC}
77b0c86a60SBiju Das
78b0c86a60SBiju Das      - items:
79b0c86a60SBiju Das          - enum:
805698782fSLad Prabhakar              - renesas,scif-r9a07g043      # RZ/G2UL and RZ/Five
81b0c86a60SBiju Das              - renesas,scif-r9a07g054      # RZ/V2L
82ed265bc9SBiju Das          - const: renesas,scif-r9a07g044   # RZ/G2{L,LC} fallback
8392e06e12SLad Prabhakar
84384d00faSGeert Uytterhoeven  reg:
85384d00faSGeert Uytterhoeven    maxItems: 1
86384d00faSGeert Uytterhoeven
87384d00faSGeert Uytterhoeven  interrupts:
88384d00faSGeert Uytterhoeven    oneOf:
89384d00faSGeert Uytterhoeven      - items:
90384d00faSGeert Uytterhoeven          - description: A combined interrupt
91384d00faSGeert Uytterhoeven      - items:
92384d00faSGeert Uytterhoeven          - description: Error interrupt
93384d00faSGeert Uytterhoeven          - description: Receive buffer full interrupt
94384d00faSGeert Uytterhoeven          - description: Transmit buffer empty interrupt
95*7b21f329SGeert Uytterhoeven          - description: Break interrupt
96384d00faSGeert Uytterhoeven      - items:
97384d00faSGeert Uytterhoeven          - description: Error interrupt
98384d00faSGeert Uytterhoeven          - description: Receive buffer full interrupt
99384d00faSGeert Uytterhoeven          - description: Transmit buffer empty interrupt
100384d00faSGeert Uytterhoeven          - description: Break interrupt
101384d00faSGeert Uytterhoeven          - description: Data Ready interrupt
102384d00faSGeert Uytterhoeven          - description: Transmit End interrupt
103384d00faSGeert Uytterhoeven
104384d00faSGeert Uytterhoeven  interrupt-names:
105384d00faSGeert Uytterhoeven    oneOf:
106384d00faSGeert Uytterhoeven      - items:
107384d00faSGeert Uytterhoeven          - const: eri
108384d00faSGeert Uytterhoeven          - const: rxi
109384d00faSGeert Uytterhoeven          - const: txi
110*7b21f329SGeert Uytterhoeven          - const: bri
111384d00faSGeert Uytterhoeven      - items:
112384d00faSGeert Uytterhoeven          - const: eri
113384d00faSGeert Uytterhoeven          - const: rxi
114384d00faSGeert Uytterhoeven          - const: txi
115384d00faSGeert Uytterhoeven          - const: bri
116384d00faSGeert Uytterhoeven          - const: dri
117384d00faSGeert Uytterhoeven          - const: tei
118384d00faSGeert Uytterhoeven
119384d00faSGeert Uytterhoeven  clocks:
120384d00faSGeert Uytterhoeven    minItems: 1
121384d00faSGeert Uytterhoeven    maxItems: 4
122384d00faSGeert Uytterhoeven
123384d00faSGeert Uytterhoeven  clock-names:
124384d00faSGeert Uytterhoeven    minItems: 1
125384d00faSGeert Uytterhoeven    maxItems: 4
126384d00faSGeert Uytterhoeven    items:
127384d00faSGeert Uytterhoeven      enum:
128384d00faSGeert Uytterhoeven        - fck # UART functional clock
129384d00faSGeert Uytterhoeven        - sck # optional external clock input
130384d00faSGeert Uytterhoeven        - brg_int # optional internal clock source for BRG frequency divider
131384d00faSGeert Uytterhoeven        - scif_clk # optional external clock source for BRG frequency divider
132384d00faSGeert Uytterhoeven
133384d00faSGeert Uytterhoeven  power-domains:
134384d00faSGeert Uytterhoeven    maxItems: 1
135384d00faSGeert Uytterhoeven
136384d00faSGeert Uytterhoeven  resets:
137384d00faSGeert Uytterhoeven    maxItems: 1
138384d00faSGeert Uytterhoeven
139384d00faSGeert Uytterhoeven  dmas:
1400499220dSRob Herring    minItems: 2
1410499220dSRob Herring    maxItems: 4
142384d00faSGeert Uytterhoeven    description:
143384d00faSGeert Uytterhoeven      Must contain a list of pairs of references to DMA specifiers, one for
144384d00faSGeert Uytterhoeven      transmission, and one for reception.
145384d00faSGeert Uytterhoeven
146384d00faSGeert Uytterhoeven  dma-names:
147384d00faSGeert Uytterhoeven    minItems: 2
148384d00faSGeert Uytterhoeven    maxItems: 4
149384d00faSGeert Uytterhoeven    items:
150384d00faSGeert Uytterhoeven      enum:
151384d00faSGeert Uytterhoeven        - tx
152384d00faSGeert Uytterhoeven        - rx
153384d00faSGeert Uytterhoeven
154384d00faSGeert Uytterhoevenrequired:
155384d00faSGeert Uytterhoeven  - compatible
156384d00faSGeert Uytterhoeven  - reg
157384d00faSGeert Uytterhoeven  - interrupts
158384d00faSGeert Uytterhoeven  - clocks
159384d00faSGeert Uytterhoeven  - clock-names
160384d00faSGeert Uytterhoeven  - power-domains
161384d00faSGeert Uytterhoeven
162384d00faSGeert Uytterhoevenif:
163384d00faSGeert Uytterhoeven  properties:
164384d00faSGeert Uytterhoeven    compatible:
165384d00faSGeert Uytterhoeven      contains:
166384d00faSGeert Uytterhoeven        enum:
167384d00faSGeert Uytterhoeven          - renesas,rcar-gen2-scif
168384d00faSGeert Uytterhoeven          - renesas,rcar-gen3-scif
1696aa7cee6SYoshihiro Shimoda          - renesas,rcar-gen4-scif
1700836150cSLad Prabhakar          - renesas,scif-r9a07g044
171384d00faSGeert Uytterhoeventhen:
172384d00faSGeert Uytterhoeven  required:
173384d00faSGeert Uytterhoeven    - resets
174384d00faSGeert Uytterhoeven
1756fdc6e23SRob HerringunevaluatedProperties: false
1766fdc6e23SRob Herring
177384d00faSGeert Uytterhoevenexamples:
178384d00faSGeert Uytterhoeven  - |
179384d00faSGeert Uytterhoeven    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
180384d00faSGeert Uytterhoeven    #include <dt-bindings/interrupt-controller/arm-gic.h>
181384d00faSGeert Uytterhoeven    #include <dt-bindings/power/r8a7791-sysc.h>
182384d00faSGeert Uytterhoeven    aliases {
183384d00faSGeert Uytterhoeven        serial0 = &scif0;
184384d00faSGeert Uytterhoeven    };
185384d00faSGeert Uytterhoeven
186384d00faSGeert Uytterhoeven    scif0: serial@e6e60000 {
187384d00faSGeert Uytterhoeven        compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif",
188384d00faSGeert Uytterhoeven                     "renesas,scif";
189384d00faSGeert Uytterhoeven        reg = <0xe6e60000 64>;
190384d00faSGeert Uytterhoeven        interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
191384d00faSGeert Uytterhoeven        clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
192384d00faSGeert Uytterhoeven                 <&scif_clk>;
193384d00faSGeert Uytterhoeven        clock-names = "fck", "brg_int", "scif_clk";
194384d00faSGeert Uytterhoeven        dmas = <&dmac0 0x29>, <&dmac0 0x2a>, <&dmac1 0x29>, <&dmac1 0x2a>;
195384d00faSGeert Uytterhoeven        dma-names = "tx", "rx", "tx", "rx";
196384d00faSGeert Uytterhoeven        power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
197384d00faSGeert Uytterhoeven        resets = <&cpg 721>;
198384d00faSGeert Uytterhoeven    };
199