xref: /linux/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml (revision 1cf0697a24ef60b3ce8be47090a6e8e79329d962)
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:
2496fed779SLad Prabhakar    items:
2596fed779SLad Prabhakar      - enum:
26db712c00SLad Prabhakar          - renesas,r9a07g043u-irqc   # RZ/G2UL
278cfc90ecSLad Prabhakar          - renesas,r9a07g044-irqc    # RZ/G2{L,LC}
288cfc90ecSLad Prabhakar          - renesas,r9a07g054-irqc    # RZ/V2L
29*1cf0697aSClaudiu Beznea          - renesas,r9a08g045-irqc    # RZ/G3S
3096fed779SLad Prabhakar      - const: renesas,rzg2l-irqc
3196fed779SLad Prabhakar
3296fed779SLad Prabhakar  '#interrupt-cells':
33cfa1f9dbSLad Prabhakar    description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the
34cfa1f9dbSLad Prabhakar                 include/dt-bindings/interrupt-controller/irqc-rzg2l.h and the second
35cfa1f9dbSLad Prabhakar                 cell is used to specify the flag.
3696fed779SLad Prabhakar    const: 2
3796fed779SLad Prabhakar
3896fed779SLad Prabhakar  '#address-cells':
3996fed779SLad Prabhakar    const: 0
4096fed779SLad Prabhakar
4196fed779SLad Prabhakar  interrupt-controller: true
4296fed779SLad Prabhakar
4396fed779SLad Prabhakar  reg:
4496fed779SLad Prabhakar    maxItems: 1
4596fed779SLad Prabhakar
4696fed779SLad Prabhakar  interrupts:
47db712c00SLad Prabhakar    minItems: 41
48db712c00SLad Prabhakar    items:
49db712c00SLad Prabhakar      - description: NMI interrupt
50db712c00SLad Prabhakar      - description: IRQ0 interrupt
51db712c00SLad Prabhakar      - description: IRQ1 interrupt
52db712c00SLad Prabhakar      - description: IRQ2 interrupt
53db712c00SLad Prabhakar      - description: IRQ3 interrupt
54db712c00SLad Prabhakar      - description: IRQ4 interrupt
55db712c00SLad Prabhakar      - description: IRQ5 interrupt
56db712c00SLad Prabhakar      - description: IRQ6 interrupt
57db712c00SLad Prabhakar      - description: IRQ7 interrupt
58db712c00SLad Prabhakar      - description: GPIO interrupt, TINT0
59db712c00SLad Prabhakar      - description: GPIO interrupt, TINT1
60db712c00SLad Prabhakar      - description: GPIO interrupt, TINT2
61db712c00SLad Prabhakar      - description: GPIO interrupt, TINT3
62db712c00SLad Prabhakar      - description: GPIO interrupt, TINT4
63db712c00SLad Prabhakar      - description: GPIO interrupt, TINT5
64db712c00SLad Prabhakar      - description: GPIO interrupt, TINT6
65db712c00SLad Prabhakar      - description: GPIO interrupt, TINT7
66db712c00SLad Prabhakar      - description: GPIO interrupt, TINT8
67db712c00SLad Prabhakar      - description: GPIO interrupt, TINT9
68db712c00SLad Prabhakar      - description: GPIO interrupt, TINT10
69db712c00SLad Prabhakar      - description: GPIO interrupt, TINT11
70db712c00SLad Prabhakar      - description: GPIO interrupt, TINT12
71db712c00SLad Prabhakar      - description: GPIO interrupt, TINT13
72db712c00SLad Prabhakar      - description: GPIO interrupt, TINT14
73db712c00SLad Prabhakar      - description: GPIO interrupt, TINT15
74db712c00SLad Prabhakar      - description: GPIO interrupt, TINT16
75db712c00SLad Prabhakar      - description: GPIO interrupt, TINT17
76db712c00SLad Prabhakar      - description: GPIO interrupt, TINT18
77db712c00SLad Prabhakar      - description: GPIO interrupt, TINT19
78db712c00SLad Prabhakar      - description: GPIO interrupt, TINT20
79db712c00SLad Prabhakar      - description: GPIO interrupt, TINT21
80db712c00SLad Prabhakar      - description: GPIO interrupt, TINT22
81db712c00SLad Prabhakar      - description: GPIO interrupt, TINT23
82db712c00SLad Prabhakar      - description: GPIO interrupt, TINT24
83db712c00SLad Prabhakar      - description: GPIO interrupt, TINT25
84db712c00SLad Prabhakar      - description: GPIO interrupt, TINT26
85db712c00SLad Prabhakar      - description: GPIO interrupt, TINT27
86db712c00SLad Prabhakar      - description: GPIO interrupt, TINT28
87db712c00SLad Prabhakar      - description: GPIO interrupt, TINT29
88db712c00SLad Prabhakar      - description: GPIO interrupt, TINT30
89db712c00SLad Prabhakar      - description: GPIO interrupt, TINT31
90db712c00SLad Prabhakar      - description: Bus error interrupt
91db712c00SLad Prabhakar
92db712c00SLad Prabhakar  interrupt-names:
93db712c00SLad Prabhakar    minItems: 41
94db712c00SLad Prabhakar    items:
95db712c00SLad Prabhakar      - const: nmi
96db712c00SLad Prabhakar      - const: irq0
97db712c00SLad Prabhakar      - const: irq1
98db712c00SLad Prabhakar      - const: irq2
99db712c00SLad Prabhakar      - const: irq3
100db712c00SLad Prabhakar      - const: irq4
101db712c00SLad Prabhakar      - const: irq5
102db712c00SLad Prabhakar      - const: irq6
103db712c00SLad Prabhakar      - const: irq7
104db712c00SLad Prabhakar      - const: tint0
105db712c00SLad Prabhakar      - const: tint1
106db712c00SLad Prabhakar      - const: tint2
107db712c00SLad Prabhakar      - const: tint3
108db712c00SLad Prabhakar      - const: tint4
109db712c00SLad Prabhakar      - const: tint5
110db712c00SLad Prabhakar      - const: tint6
111db712c00SLad Prabhakar      - const: tint7
112db712c00SLad Prabhakar      - const: tint8
113db712c00SLad Prabhakar      - const: tint9
114db712c00SLad Prabhakar      - const: tint10
115db712c00SLad Prabhakar      - const: tint11
116db712c00SLad Prabhakar      - const: tint12
117db712c00SLad Prabhakar      - const: tint13
118db712c00SLad Prabhakar      - const: tint14
119db712c00SLad Prabhakar      - const: tint15
120db712c00SLad Prabhakar      - const: tint16
121db712c00SLad Prabhakar      - const: tint17
122db712c00SLad Prabhakar      - const: tint18
123db712c00SLad Prabhakar      - const: tint19
124db712c00SLad Prabhakar      - const: tint20
125db712c00SLad Prabhakar      - const: tint21
126db712c00SLad Prabhakar      - const: tint22
127db712c00SLad Prabhakar      - const: tint23
128db712c00SLad Prabhakar      - const: tint24
129db712c00SLad Prabhakar      - const: tint25
130db712c00SLad Prabhakar      - const: tint26
131db712c00SLad Prabhakar      - const: tint27
132db712c00SLad Prabhakar      - const: tint28
133db712c00SLad Prabhakar      - const: tint29
134db712c00SLad Prabhakar      - const: tint30
135db712c00SLad Prabhakar      - const: tint31
136db712c00SLad Prabhakar      - const: bus-err
13796fed779SLad Prabhakar
13896fed779SLad Prabhakar  clocks:
13996fed779SLad Prabhakar    maxItems: 2
14096fed779SLad Prabhakar
14196fed779SLad Prabhakar  clock-names:
14296fed779SLad Prabhakar    items:
14396fed779SLad Prabhakar      - const: clk
14496fed779SLad Prabhakar      - const: pclk
14596fed779SLad Prabhakar
14696fed779SLad Prabhakar  power-domains:
14796fed779SLad Prabhakar    maxItems: 1
14896fed779SLad Prabhakar
14996fed779SLad Prabhakar  resets:
15096fed779SLad Prabhakar    maxItems: 1
15196fed779SLad Prabhakar
15296fed779SLad Prabhakarrequired:
15396fed779SLad Prabhakar  - compatible
15496fed779SLad Prabhakar  - '#interrupt-cells'
15596fed779SLad Prabhakar  - '#address-cells'
15696fed779SLad Prabhakar  - interrupt-controller
15796fed779SLad Prabhakar  - reg
15896fed779SLad Prabhakar  - interrupts
15996fed779SLad Prabhakar  - clocks
16096fed779SLad Prabhakar  - clock-names
16196fed779SLad Prabhakar  - power-domains
16296fed779SLad Prabhakar  - resets
16396fed779SLad Prabhakar
164db712c00SLad PrabhakarallOf:
165db712c00SLad Prabhakar  - $ref: /schemas/interrupt-controller.yaml#
166db712c00SLad Prabhakar
167db712c00SLad Prabhakar  - if:
168db712c00SLad Prabhakar      properties:
169db712c00SLad Prabhakar        compatible:
170db712c00SLad Prabhakar          contains:
171*1cf0697aSClaudiu Beznea            enum:
172*1cf0697aSClaudiu Beznea              - renesas,r9a07g043u-irqc
173*1cf0697aSClaudiu Beznea              - renesas,r9a08g045-irqc
174db712c00SLad Prabhakar    then:
175db712c00SLad Prabhakar      properties:
176db712c00SLad Prabhakar        interrupts:
177db712c00SLad Prabhakar          minItems: 42
178db712c00SLad Prabhakar        interrupt-names:
179db712c00SLad Prabhakar          minItems: 42
180db712c00SLad Prabhakar      required:
181db712c00SLad Prabhakar        - interrupt-names
182db712c00SLad Prabhakar
18396fed779SLad PrabhakarunevaluatedProperties: false
18496fed779SLad Prabhakar
18596fed779SLad Prabhakarexamples:
18696fed779SLad Prabhakar  - |
18796fed779SLad Prabhakar    #include <dt-bindings/interrupt-controller/arm-gic.h>
18896fed779SLad Prabhakar    #include <dt-bindings/clock/r9a07g044-cpg.h>
18996fed779SLad Prabhakar
19096fed779SLad Prabhakar    irqc: interrupt-controller@110a0000 {
19196fed779SLad Prabhakar        compatible = "renesas,r9a07g044-irqc", "renesas,rzg2l-irqc";
19296fed779SLad Prabhakar        reg = <0x110a0000 0x10000>;
19396fed779SLad Prabhakar        #interrupt-cells = <2>;
19496fed779SLad Prabhakar        #address-cells = <0>;
19596fed779SLad Prabhakar        interrupt-controller;
19696fed779SLad Prabhakar        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
19796fed779SLad Prabhakar                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
19896fed779SLad Prabhakar                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
19996fed779SLad Prabhakar                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
20096fed779SLad Prabhakar                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
20196fed779SLad Prabhakar                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
20296fed779SLad Prabhakar                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
20396fed779SLad Prabhakar                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
20496fed779SLad Prabhakar                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
20596fed779SLad Prabhakar                     <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
20696fed779SLad Prabhakar                     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>,
20796fed779SLad Prabhakar                     <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>,
20896fed779SLad Prabhakar                     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
20996fed779SLad Prabhakar                     <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
21096fed779SLad Prabhakar                     <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>,
21196fed779SLad Prabhakar                     <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>,
21296fed779SLad Prabhakar                     <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>,
21396fed779SLad Prabhakar                     <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>,
21496fed779SLad Prabhakar                     <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>,
21596fed779SLad Prabhakar                     <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>,
21696fed779SLad Prabhakar                     <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>,
21796fed779SLad Prabhakar                     <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>,
21896fed779SLad Prabhakar                     <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
21996fed779SLad Prabhakar                     <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
22096fed779SLad Prabhakar                     <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
22196fed779SLad Prabhakar                     <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
22296fed779SLad Prabhakar                     <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
22396fed779SLad Prabhakar                     <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
22496fed779SLad Prabhakar                     <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
22596fed779SLad Prabhakar                     <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
22696fed779SLad Prabhakar                     <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
22796fed779SLad Prabhakar                     <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
22896fed779SLad Prabhakar                     <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
22996fed779SLad Prabhakar                     <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
23096fed779SLad Prabhakar                     <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
23196fed779SLad Prabhakar                     <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>,
23296fed779SLad Prabhakar                     <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>,
23396fed779SLad Prabhakar                     <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
23496fed779SLad Prabhakar                     <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
23596fed779SLad Prabhakar                     <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
23696fed779SLad Prabhakar                     <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>;
237db712c00SLad Prabhakar        interrupt-names = "nmi",
238db712c00SLad Prabhakar                          "irq0", "irq1", "irq2", "irq3",
239db712c00SLad Prabhakar                          "irq4", "irq5", "irq6", "irq7",
240db712c00SLad Prabhakar                          "tint0", "tint1", "tint2", "tint3",
241db712c00SLad Prabhakar                          "tint4", "tint5", "tint6", "tint7",
242db712c00SLad Prabhakar                          "tint8", "tint9", "tint10", "tint11",
243db712c00SLad Prabhakar                          "tint12", "tint13", "tint14", "tint15",
244db712c00SLad Prabhakar                          "tint16", "tint17", "tint18", "tint19",
245db712c00SLad Prabhakar                          "tint20", "tint21", "tint22", "tint23",
246db712c00SLad Prabhakar                          "tint24", "tint25", "tint26", "tint27",
247db712c00SLad Prabhakar                          "tint28", "tint29", "tint30", "tint31";
24896fed779SLad Prabhakar        clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>,
24996fed779SLad Prabhakar                 <&cpg CPG_MOD R9A07G044_IA55_PCLK>;
25096fed779SLad Prabhakar        clock-names = "clk", "pclk";
25196fed779SLad Prabhakar        power-domains = <&cpg>;
25296fed779SLad Prabhakar        resets = <&cpg R9A07G044_IA55_RESETN>;
25396fed779SLad Prabhakar    };
254