File Index
Files and directories
Sign in
FILE

renesas,scif.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/serial/renesas,scif.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/serial/renesas,scif.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Renesas Serial Communication Interface with FIFO (SCIF)
  8
  9maintainers:
 10  - Geert Uytterhoeven <geert+renesas@glider.be>
 11
 12properties:
 13  compatible:
 14    oneOf:
 15      - items:
 16          - enum:
 17              - renesas,scif-r7s72100     # RZ/A1H
 18          - const: renesas,scif           # generic SCIF compatible UART
 19
 20      - items:
 21          - enum:
 22              - renesas,scif-r7s9210      # RZ/A2
 23
 24      - items:
 25          - enum:
 26              - renesas,scif-r8a7778      # R-Car M1
 27              - renesas,scif-r8a7779      # R-Car H1
 28          - const: renesas,rcar-gen1-scif # R-Car Gen1
 29          - const: renesas,scif           # generic SCIF compatible UART
 30
 31      - items:
 32          - enum:
 33              - renesas,scif-r8a7742      # RZ/G1H
 34              - renesas,scif-r8a7743      # RZ/G1M
 35              - renesas,scif-r8a7744      # RZ/G1N
 36              - renesas,scif-r8a7745      # RZ/G1E
 37              - renesas,scif-r8a77470     # RZ/G1C
 38              - renesas,scif-r8a7790      # R-Car H2
 39              - renesas,scif-r8a7791      # R-Car M2-W
 40              - renesas,scif-r8a7792      # R-Car V2H
 41              - renesas,scif-r8a7793      # R-Car M2-N
 42              - renesas,scif-r8a7794      # R-Car E2
 43          - const: renesas,rcar-gen2-scif # R-Car Gen2 and RZ/G1
 44          - const: renesas,scif           # generic SCIF compatible UART
 45
 46      - items:
 47          - enum:
 48              - renesas,scif-r8a774a1     # RZ/G2M
 49              - renesas,scif-r8a774a3     # RZ/G2M v3.0
 50              - renesas,scif-r8a774b1     # RZ/G2N
 51              - renesas,scif-r8a774c0     # RZ/G2E
 52              - renesas,scif-r8a774e1     # RZ/G2H
 53              - renesas,scif-r8a7795      # R-Car H3
 54              - renesas,scif-r8a7796      # R-Car M3-W
 55              - renesas,scif-r8a77961     # R-Car M3-W+
 56              - renesas,scif-r8a77965     # R-Car M3-N
 57              - renesas,scif-r8a77970     # R-Car V3M
 58              - renesas,scif-r8a77980     # R-Car V3H
 59              - renesas,scif-r8a77990     # R-Car E3
 60              - renesas,scif-r8a77995     # R-Car D3
 61          - const: renesas,rcar-gen3-scif # R-Car Gen3 and RZ/G2
 62          - const: renesas,scif           # generic SCIF compatible UART
 63
 64      - items:
 65          - enum:
 66              - renesas,scif-r8a779a0     # R-Car V3U
 67              - renesas,scif-r8a779f0     # R-Car S4-8
 68              - renesas,scif-r8a779g0     # R-Car V4H
 69              - renesas,scif-r8a779h0     # R-Car V4M
 70          - const: renesas,rcar-gen4-scif # R-Car Gen4
 71          - const: renesas,scif           # generic SCIF compatible UART
 72
 73      - items:
 74          - enum:
 75              - renesas,scif-r8a78000     # R-Car X5H
 76          - const: renesas,rcar-gen5-scif # R-Car Gen5
 77          - const: renesas,scif           # generic SCIF compatible UART
 78
 79      - items:
 80          - enum:
 81              - renesas,scif-r9a07g044      # RZ/G2{L,LC}
 82
 83      - items:
 84          - enum:
 85              - renesas,scif-r9a07g043      # RZ/G2UL and RZ/Five
 86              - renesas,scif-r9a07g054      # RZ/V2L
 87              - renesas,scif-r9a08g045      # RZ/G3S
 88          - const: renesas,scif-r9a07g044   # RZ/G2{L,LC} fallback
 89
 90      - const: renesas,scif-r9a09g057       # RZ/V2H(P)
 91
 92      - items:
 93          - enum:
 94              - renesas,scif-r9a09g047      # RZ/G3E
 95              - renesas,scif-r9a09g056      # RZ/V2N
 96          - const: renesas,scif-r9a09g057   # RZ/V2H fallback
 97
 98  reg:
 99    maxItems: 1
100
101  interrupts:
102    oneOf:
103      - items:
104          - description: A combined interrupt
105      - items:
106          - description: Error interrupt
107          - description: Receive buffer full interrupt
108          - description: Transmit buffer empty interrupt
109          - description: Break interrupt
110          - description: Data Ready interrupt
111          - description: Transmit End interrupt
112          - description: Transmit End/Data Ready interrupt
113          - description: Receive buffer full interrupt (EDGE trigger)
114          - description: Transmit buffer empty interrupt (EDGE trigger)
115        minItems: 4
116
117  interrupt-names:
118    minItems: 4
119    items:
120      - const: eri
121      - const: rxi
122      - const: txi
123      - const: bri
124      - const: dri
125      - const: tei
126      - const: tei-dri
127      - const: rxi-edge
128      - const: txi-edge
129
130  clocks:
131    minItems: 1
132    maxItems: 4
133
134  clock-names:
135    minItems: 1
136    maxItems: 4
137    items:
138      enum:
139        - fck # UART functional clock
140        - sck # optional external clock input
141        - brg_int # optional internal clock source for BRG frequency divider
142        - scif_clk # optional external clock source for BRG frequency divider
143
144  power-domains:
145    maxItems: 1
146
147  resets:
148    maxItems: 1
149
150  dmas:
151    minItems: 2
152    maxItems: 4
153    description:
154      Must contain a list of pairs of references to DMA specifiers, one for
155      transmission, and one for reception.
156
157  dma-names:
158    minItems: 2
159    maxItems: 4
160    items:
161      enum:
162        - tx
163        - rx
164
165required:
166  - compatible
167  - reg
168  - interrupts
169  - clocks
170  - clock-names
171  - power-domains
172
173allOf:
174  - $ref: serial.yaml#
175
176  - if:
177      properties:
178        compatible:
179          contains:
180            enum:
181              - renesas,rcar-gen2-scif
182              - renesas,rcar-gen3-scif
183              - renesas,rcar-gen4-scif
184              - renesas,rcar-gen5-scif
185              - renesas,scif-r9a07g044
186              - renesas,scif-r9a09g057
187    then:
188      required:
189        - resets
190
191  - if:
192      properties:
193        compatible:
194          contains:
195            enum:
196              - renesas,rcar-gen1-scif
197              - renesas,rcar-gen2-scif
198              - renesas,rcar-gen3-scif
199              - renesas,rcar-gen4-scif
200              - renesas,rcar-gen5-scif
201    then:
202      properties:
203        interrupts:
204          maxItems: 1
205
206        interrupt-names: false
207    else:
208      required:
209        - interrupt-names
210
211  - if:
212      properties:
213        compatible:
214          contains:
215            enum:
216              - renesas,scif-r7s72100
217    then:
218      properties:
219        interrupts:
220          minItems: 4
221          maxItems: 4
222
223        interrupt-names:
224          maxItems: 4
225
226  - if:
227      properties:
228        compatible:
229          contains:
230            enum:
231              - renesas,scif-r7s9210
232              - renesas,scif-r9a07g044
233    then:
234      properties:
235        interrupts:
236          minItems: 6
237          maxItems: 6
238
239        interrupt-names:
240          minItems: 6
241          maxItems: 6
242
243  - if:
244      properties:
245        compatible:
246          contains:
247            const: renesas,scif-r9a09g057
248    then:
249      properties:
250        clocks:
251          maxItems: 1
252
253        clock-names:
254          maxItems: 1
255
256        interrupts:
257          minItems: 9
258
259        interrupt-names:
260          minItems: 9
261
262unevaluatedProperties: false
263
264examples:
265  - |
266    #include <dt-bindings/clock/r8a7791-cpg-mssr.h>
267    #include <dt-bindings/interrupt-controller/arm-gic.h>
268    #include <dt-bindings/power/r8a7791-sysc.h>
269    aliases {
270        serial0 = &scif0;
271    };
272
273    scif0: serial@e6e60000 {
274        compatible = "renesas,scif-r8a7791", "renesas,rcar-gen2-scif",
275                     "renesas,scif";
276        reg = <0xe6e60000 64>;
277        interrupts = <GIC_SPI 152 IRQ_TYPE_LEVEL_HIGH>;
278        clocks = <&cpg CPG_MOD 721>, <&cpg CPG_CORE R8A7791_CLK_ZS>,
279                 <&scif_clk>;
280        clock-names = "fck", "brg_int", "scif_clk";
281        dmas = <&dmac0 0x29>, <&dmac0 0x2a>, <&dmac1 0x29>, <&dmac1 0x2a>;
282        dma-names = "tx", "rx", "tx", "rx";
283        power-domains = <&sysc R8A7791_PD_ALWAYS_ON>;
284        resets = <&cpg 721>;
285    };
~/ Read-only file preview.