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