xref: /linux/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
196fed779SLad Prabhakar# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
296fed779SLad Prabhakar%YAML 1.2
396fed779SLad Prabhakar---
496fed779SLad Prabhakar$id: http://devicetree.org/schemas/interrupt-controller/renesas,rzg2l-irqc.yaml#
596fed779SLad Prabhakar$schema: http://devicetree.org/meta-schemas/core.yaml#
696fed779SLad Prabhakar
796fed779SLad Prabhakartitle: Renesas RZ/G2L (and alike SoC's) Interrupt Controller (IA55)
896fed779SLad Prabhakar
996fed779SLad Prabhakarmaintainers:
1096fed779SLad Prabhakar  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
1196fed779SLad Prabhakar  - Geert Uytterhoeven <geert+renesas@glider.be>
1296fed779SLad Prabhakar
1396fed779SLad Prabhakardescription: |
1496fed779SLad Prabhakar  IA55 performs various interrupt controls including synchronization for the external
1596fed779SLad Prabhakar  interrupts of NMI, IRQ, and GPIOINT and the interrupts of the built-in peripheral
1696fed779SLad Prabhakar  interrupts output by each IP. And it notifies the interrupt to the GIC
1796fed779SLad Prabhakar    - IRQ sense select for 8 external interrupts, mapped to 8 GIC SPI interrupts
1896fed779SLad Prabhakar    - GPIO pins used as external interrupt input pins, mapped to 32 GIC SPI interrupts
1996fed779SLad Prabhakar    - NMI edge select (NMI is not treated as NMI exception and supports fall edge and
2096fed779SLad Prabhakar      stand-up edge detection interrupts)
2196fed779SLad Prabhakar
2296fed779SLad Prabhakarproperties:
2396fed779SLad Prabhakar  compatible:
24*372487b2SLad Prabhakar    oneOf:
25*372487b2SLad Prabhakar      - items:
2696fed779SLad Prabhakar          - enum:
27db712c00SLad Prabhakar              - renesas,r9a07g043u-irqc    # RZ/G2UL
288cfc90ecSLad Prabhakar              - renesas,r9a07g044-irqc     # RZ/G2{L,LC}
298cfc90ecSLad Prabhakar              - renesas,r9a07g054-irqc     # RZ/V2L
301cf0697aSClaudiu Beznea              - renesas,r9a08g045-irqc     # RZ/G3S
3196fed779SLad Prabhakar          - const: renesas,rzg2l-irqc
3296fed779SLad Prabhakar
33*372487b2SLad Prabhakar      - const: renesas,r9a07g043f-irqc     # RZ/Five
34*372487b2SLad Prabhakar
3596fed779SLad Prabhakar  '#interrupt-cells':
36cfa1f9dbSLad Prabhakar    description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the
37cfa1f9dbSLad Prabhakar                 include/dt-bindings/interrupt-controller/irqc-rzg2l.h and the second
38cfa1f9dbSLad Prabhakar                 cell is used to specify the flag.
3996fed779SLad Prabhakar    const: 2
4096fed779SLad Prabhakar
4196fed779SLad Prabhakar  '#address-cells':
4296fed779SLad Prabhakar    const: 0
4396fed779SLad Prabhakar
4496fed779SLad Prabhakar  interrupt-controller: true
4596fed779SLad Prabhakar
4696fed779SLad Prabhakar  reg:
4796fed779SLad Prabhakar    maxItems: 1
4896fed779SLad Prabhakar
4996fed779SLad Prabhakar  interrupts:
50392703b6SLad Prabhakar    minItems: 45
51db712c00SLad Prabhakar    items:
52db712c00SLad Prabhakar      - description: NMI interrupt
53db712c00SLad Prabhakar      - description: IRQ0 interrupt
54db712c00SLad Prabhakar      - description: IRQ1 interrupt
55db712c00SLad Prabhakar      - description: IRQ2 interrupt
56db712c00SLad Prabhakar      - description: IRQ3 interrupt
57db712c00SLad Prabhakar      - description: IRQ4 interrupt
58db712c00SLad Prabhakar      - description: IRQ5 interrupt
59db712c00SLad Prabhakar      - description: IRQ6 interrupt
60db712c00SLad Prabhakar      - description: IRQ7 interrupt
61db712c00SLad Prabhakar      - description: GPIO interrupt, TINT0
62db712c00SLad Prabhakar      - description: GPIO interrupt, TINT1
63db712c00SLad Prabhakar      - description: GPIO interrupt, TINT2
64db712c00SLad Prabhakar      - description: GPIO interrupt, TINT3
65db712c00SLad Prabhakar      - description: GPIO interrupt, TINT4
66db712c00SLad Prabhakar      - description: GPIO interrupt, TINT5
67db712c00SLad Prabhakar      - description: GPIO interrupt, TINT6
68db712c00SLad Prabhakar      - description: GPIO interrupt, TINT7
69db712c00SLad Prabhakar      - description: GPIO interrupt, TINT8
70db712c00SLad Prabhakar      - description: GPIO interrupt, TINT9
71db712c00SLad Prabhakar      - description: GPIO interrupt, TINT10
72db712c00SLad Prabhakar      - description: GPIO interrupt, TINT11
73db712c00SLad Prabhakar      - description: GPIO interrupt, TINT12
74db712c00SLad Prabhakar      - description: GPIO interrupt, TINT13
75db712c00SLad Prabhakar      - description: GPIO interrupt, TINT14
76db712c00SLad Prabhakar      - description: GPIO interrupt, TINT15
77db712c00SLad Prabhakar      - description: GPIO interrupt, TINT16
78db712c00SLad Prabhakar      - description: GPIO interrupt, TINT17
79db712c00SLad Prabhakar      - description: GPIO interrupt, TINT18
80db712c00SLad Prabhakar      - description: GPIO interrupt, TINT19
81db712c00SLad Prabhakar      - description: GPIO interrupt, TINT20
82db712c00SLad Prabhakar      - description: GPIO interrupt, TINT21
83db712c00SLad Prabhakar      - description: GPIO interrupt, TINT22
84db712c00SLad Prabhakar      - description: GPIO interrupt, TINT23
85db712c00SLad Prabhakar      - description: GPIO interrupt, TINT24
86db712c00SLad Prabhakar      - description: GPIO interrupt, TINT25
87db712c00SLad Prabhakar      - description: GPIO interrupt, TINT26
88db712c00SLad Prabhakar      - description: GPIO interrupt, TINT27
89db712c00SLad Prabhakar      - description: GPIO interrupt, TINT28
90db712c00SLad Prabhakar      - description: GPIO interrupt, TINT29
91db712c00SLad Prabhakar      - description: GPIO interrupt, TINT30
92db712c00SLad Prabhakar      - description: GPIO interrupt, TINT31
93db712c00SLad Prabhakar      - description: Bus error interrupt
94392703b6SLad Prabhakar      - description: ECCRAM0 or combined ECCRAM0/1 1bit error interrupt
95392703b6SLad Prabhakar      - description: ECCRAM0 or combined ECCRAM0/1 2bit error interrupt
96392703b6SLad Prabhakar      - description: ECCRAM0 or combined ECCRAM0/1 error overflow interrupt
97392703b6SLad Prabhakar      - description: ECCRAM1 1bit error interrupt
98392703b6SLad Prabhakar      - description: ECCRAM1 2bit error interrupt
99392703b6SLad Prabhakar      - description: ECCRAM1 error overflow interrupt
100db712c00SLad Prabhakar
101db712c00SLad Prabhakar  interrupt-names:
102392703b6SLad Prabhakar    minItems: 45
103db712c00SLad Prabhakar    items:
104db712c00SLad Prabhakar      - const: nmi
105db712c00SLad Prabhakar      - const: irq0
106db712c00SLad Prabhakar      - const: irq1
107db712c00SLad Prabhakar      - const: irq2
108db712c00SLad Prabhakar      - const: irq3
109db712c00SLad Prabhakar      - const: irq4
110db712c00SLad Prabhakar      - const: irq5
111db712c00SLad Prabhakar      - const: irq6
112db712c00SLad Prabhakar      - const: irq7
113db712c00SLad Prabhakar      - const: tint0
114db712c00SLad Prabhakar      - const: tint1
115db712c00SLad Prabhakar      - const: tint2
116db712c00SLad Prabhakar      - const: tint3
117db712c00SLad Prabhakar      - const: tint4
118db712c00SLad Prabhakar      - const: tint5
119db712c00SLad Prabhakar      - const: tint6
120db712c00SLad Prabhakar      - const: tint7
121db712c00SLad Prabhakar      - const: tint8
122db712c00SLad Prabhakar      - const: tint9
123db712c00SLad Prabhakar      - const: tint10
124db712c00SLad Prabhakar      - const: tint11
125db712c00SLad Prabhakar      - const: tint12
126db712c00SLad Prabhakar      - const: tint13
127db712c00SLad Prabhakar      - const: tint14
128db712c00SLad Prabhakar      - const: tint15
129db712c00SLad Prabhakar      - const: tint16
130db712c00SLad Prabhakar      - const: tint17
131db712c00SLad Prabhakar      - const: tint18
132db712c00SLad Prabhakar      - const: tint19
133db712c00SLad Prabhakar      - const: tint20
134db712c00SLad Prabhakar      - const: tint21
135db712c00SLad Prabhakar      - const: tint22
136db712c00SLad Prabhakar      - const: tint23
137db712c00SLad Prabhakar      - const: tint24
138db712c00SLad Prabhakar      - const: tint25
139db712c00SLad Prabhakar      - const: tint26
140db712c00SLad Prabhakar      - const: tint27
141db712c00SLad Prabhakar      - const: tint28
142db712c00SLad Prabhakar      - const: tint29
143db712c00SLad Prabhakar      - const: tint30
144db712c00SLad Prabhakar      - const: tint31
145db712c00SLad Prabhakar      - const: bus-err
146392703b6SLad Prabhakar      - const: ec7tie1-0
147392703b6SLad Prabhakar      - const: ec7tie2-0
148392703b6SLad Prabhakar      - const: ec7tiovf-0
149392703b6SLad Prabhakar      - const: ec7tie1-1
150392703b6SLad Prabhakar      - const: ec7tie2-1
151392703b6SLad Prabhakar      - const: ec7tiovf-1
15296fed779SLad Prabhakar
15396fed779SLad Prabhakar  clocks:
15496fed779SLad Prabhakar    maxItems: 2
15596fed779SLad Prabhakar
15696fed779SLad Prabhakar  clock-names:
15796fed779SLad Prabhakar    items:
15896fed779SLad Prabhakar      - const: clk
15996fed779SLad Prabhakar      - const: pclk
16096fed779SLad Prabhakar
16196fed779SLad Prabhakar  power-domains:
16296fed779SLad Prabhakar    maxItems: 1
16396fed779SLad Prabhakar
16496fed779SLad Prabhakar  resets:
16596fed779SLad Prabhakar    maxItems: 1
16696fed779SLad Prabhakar
16796fed779SLad Prabhakarrequired:
16896fed779SLad Prabhakar  - compatible
16996fed779SLad Prabhakar  - '#interrupt-cells'
17096fed779SLad Prabhakar  - '#address-cells'
17196fed779SLad Prabhakar  - interrupt-controller
17296fed779SLad Prabhakar  - reg
17396fed779SLad Prabhakar  - interrupts
174392703b6SLad Prabhakar  - interrupt-names
17596fed779SLad Prabhakar  - clocks
17696fed779SLad Prabhakar  - clock-names
17796fed779SLad Prabhakar  - power-domains
17896fed779SLad Prabhakar  - resets
17996fed779SLad Prabhakar
180db712c00SLad PrabhakarallOf:
181db712c00SLad Prabhakar  - $ref: /schemas/interrupt-controller.yaml#
182db712c00SLad Prabhakar
183db712c00SLad Prabhakar  - if:
184db712c00SLad Prabhakar      properties:
185db712c00SLad Prabhakar        compatible:
186db712c00SLad Prabhakar          contains:
1871cf0697aSClaudiu Beznea            enum:
1881cf0697aSClaudiu Beznea              - renesas,r9a08g045-irqc
189db712c00SLad Prabhakar    then:
190db712c00SLad Prabhakar      properties:
191db712c00SLad Prabhakar        interrupts:
192392703b6SLad Prabhakar          maxItems: 45
193db712c00SLad Prabhakar        interrupt-names:
194392703b6SLad Prabhakar          maxItems: 45
195392703b6SLad Prabhakar    else:
196392703b6SLad Prabhakar      properties:
197392703b6SLad Prabhakar        interrupts:
198392703b6SLad Prabhakar          minItems: 48
199392703b6SLad Prabhakar        interrupt-names:
200392703b6SLad Prabhakar          minItems: 48
201db712c00SLad Prabhakar
20296fed779SLad PrabhakarunevaluatedProperties: false
20396fed779SLad Prabhakar
20496fed779SLad Prabhakarexamples:
20596fed779SLad Prabhakar  - |
20696fed779SLad Prabhakar    #include <dt-bindings/interrupt-controller/arm-gic.h>
20796fed779SLad Prabhakar    #include <dt-bindings/clock/r9a07g044-cpg.h>
20896fed779SLad Prabhakar
20996fed779SLad Prabhakar    irqc: interrupt-controller@110a0000 {
21096fed779SLad Prabhakar        compatible = "renesas,r9a07g044-irqc", "renesas,rzg2l-irqc";
21196fed779SLad Prabhakar        reg = <0x110a0000 0x10000>;
21296fed779SLad Prabhakar        #interrupt-cells = <2>;
21396fed779SLad Prabhakar        #address-cells = <0>;
21496fed779SLad Prabhakar        interrupt-controller;
21596fed779SLad Prabhakar        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
21696fed779SLad Prabhakar                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
21796fed779SLad Prabhakar                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
21896fed779SLad Prabhakar                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
21996fed779SLad Prabhakar                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
22096fed779SLad Prabhakar                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
22196fed779SLad Prabhakar                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
22296fed779SLad Prabhakar                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
22396fed779SLad Prabhakar                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
22496fed779SLad Prabhakar                     <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
22596fed779SLad Prabhakar                     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>,
22696fed779SLad Prabhakar                     <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>,
22796fed779SLad Prabhakar                     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
22896fed779SLad Prabhakar                     <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
22996fed779SLad Prabhakar                     <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>,
23096fed779SLad Prabhakar                     <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>,
23196fed779SLad Prabhakar                     <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>,
23296fed779SLad Prabhakar                     <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>,
23396fed779SLad Prabhakar                     <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>,
23496fed779SLad Prabhakar                     <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>,
23596fed779SLad Prabhakar                     <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>,
23696fed779SLad Prabhakar                     <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>,
23796fed779SLad Prabhakar                     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
23896fed779SLad Prabhakar                     <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
23996fed779SLad Prabhakar                     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
24096fed779SLad Prabhakar                     <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
24196fed779SLad Prabhakar                     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
24296fed779SLad Prabhakar                     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
24396fed779SLad Prabhakar                     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
24496fed779SLad Prabhakar                     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
24596fed779SLad Prabhakar                     <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
24696fed779SLad Prabhakar                     <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
24796fed779SLad Prabhakar                     <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
24896fed779SLad Prabhakar                     <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
24996fed779SLad Prabhakar                     <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
25096fed779SLad Prabhakar                     <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>,
25196fed779SLad Prabhakar                     <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>,
25296fed779SLad Prabhakar                     <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
25396fed779SLad Prabhakar                     <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
25496fed779SLad Prabhakar                     <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
255392703b6SLad Prabhakar                     <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>,
256392703b6SLad Prabhakar                     <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>,
257392703b6SLad Prabhakar                     <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
258392703b6SLad Prabhakar                     <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
259392703b6SLad Prabhakar                     <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
260392703b6SLad Prabhakar                     <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>,
261392703b6SLad Prabhakar                     <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>,
262392703b6SLad Prabhakar                     <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
263db712c00SLad Prabhakar        interrupt-names = "nmi",
264db712c00SLad Prabhakar                          "irq0", "irq1", "irq2", "irq3",
265db712c00SLad Prabhakar                          "irq4", "irq5", "irq6", "irq7",
266db712c00SLad Prabhakar                          "tint0", "tint1", "tint2", "tint3",
267db712c00SLad Prabhakar                          "tint4", "tint5", "tint6", "tint7",
268db712c00SLad Prabhakar                          "tint8", "tint9", "tint10", "tint11",
269db712c00SLad Prabhakar                          "tint12", "tint13", "tint14", "tint15",
270db712c00SLad Prabhakar                          "tint16", "tint17", "tint18", "tint19",
271db712c00SLad Prabhakar                          "tint20", "tint21", "tint22", "tint23",
272db712c00SLad Prabhakar                          "tint24", "tint25", "tint26", "tint27",
273392703b6SLad Prabhakar                          "tint28", "tint29", "tint30", "tint31",
274392703b6SLad Prabhakar                          "bus-err", "ec7tie1-0", "ec7tie2-0",
275392703b6SLad Prabhakar                          "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1",
276392703b6SLad Prabhakar                          "ec7tiovf-1";
27796fed779SLad Prabhakar        clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>,
27896fed779SLad Prabhakar                 <&cpg CPG_MOD R9A07G044_IA55_PCLK>;
27996fed779SLad Prabhakar        clock-names = "clk", "pclk";
28096fed779SLad Prabhakar        power-domains = <&cpg>;
28196fed779SLad Prabhakar        resets = <&cpg R9A07G044_IA55_RESETN>;
28296fed779SLad Prabhakar    };
283