xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/renesas,rzg2l-irqc.yaml (revision b97ee269eae3cbaf35c18f51a459aea581c2a7dc)
1*b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*b97ee269SEmmanuel Vadot%YAML 1.2
3*b97ee269SEmmanuel Vadot---
4*b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/renesas,rzg2l-irqc.yaml#
5*b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*b97ee269SEmmanuel Vadot
7*b97ee269SEmmanuel Vadottitle: Renesas RZ/G2L (and alike SoC's) Interrupt Controller (IA55)
8*b97ee269SEmmanuel Vadot
9*b97ee269SEmmanuel Vadotmaintainers:
10*b97ee269SEmmanuel Vadot  - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
11*b97ee269SEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
12*b97ee269SEmmanuel Vadot
13*b97ee269SEmmanuel Vadotdescription: |
14*b97ee269SEmmanuel Vadot  IA55 performs various interrupt controls including synchronization for the external
15*b97ee269SEmmanuel Vadot  interrupts of NMI, IRQ, and GPIOINT and the interrupts of the built-in peripheral
16*b97ee269SEmmanuel Vadot  interrupts output by each IP. And it notifies the interrupt to the GIC
17*b97ee269SEmmanuel Vadot    - IRQ sense select for 8 external interrupts, mapped to 8 GIC SPI interrupts
18*b97ee269SEmmanuel Vadot    - GPIO pins used as external interrupt input pins, mapped to 32 GIC SPI interrupts
19*b97ee269SEmmanuel Vadot    - NMI edge select (NMI is not treated as NMI exception and supports fall edge and
20*b97ee269SEmmanuel Vadot      stand-up edge detection interrupts)
21*b97ee269SEmmanuel Vadot
22*b97ee269SEmmanuel VadotallOf:
23*b97ee269SEmmanuel Vadot  - $ref: /schemas/interrupt-controller.yaml#
24*b97ee269SEmmanuel Vadot
25*b97ee269SEmmanuel Vadotproperties:
26*b97ee269SEmmanuel Vadot  compatible:
27*b97ee269SEmmanuel Vadot    items:
28*b97ee269SEmmanuel Vadot      - enum:
29*b97ee269SEmmanuel Vadot          - renesas,r9a07g044-irqc    # RZ/G2{L,LC}
30*b97ee269SEmmanuel Vadot          - renesas,r9a07g054-irqc    # RZ/V2L
31*b97ee269SEmmanuel Vadot      - const: renesas,rzg2l-irqc
32*b97ee269SEmmanuel Vadot
33*b97ee269SEmmanuel Vadot  '#interrupt-cells':
34*b97ee269SEmmanuel Vadot    description: The first cell should contain external interrupt number (IRQ0-7) and the
35*b97ee269SEmmanuel Vadot                 second cell is used to specify the flag.
36*b97ee269SEmmanuel Vadot    const: 2
37*b97ee269SEmmanuel Vadot
38*b97ee269SEmmanuel Vadot  '#address-cells':
39*b97ee269SEmmanuel Vadot    const: 0
40*b97ee269SEmmanuel Vadot
41*b97ee269SEmmanuel Vadot  interrupt-controller: true
42*b97ee269SEmmanuel Vadot
43*b97ee269SEmmanuel Vadot  reg:
44*b97ee269SEmmanuel Vadot    maxItems: 1
45*b97ee269SEmmanuel Vadot
46*b97ee269SEmmanuel Vadot  interrupts:
47*b97ee269SEmmanuel Vadot    maxItems: 41
48*b97ee269SEmmanuel Vadot
49*b97ee269SEmmanuel Vadot  clocks:
50*b97ee269SEmmanuel Vadot    maxItems: 2
51*b97ee269SEmmanuel Vadot
52*b97ee269SEmmanuel Vadot  clock-names:
53*b97ee269SEmmanuel Vadot    items:
54*b97ee269SEmmanuel Vadot      - const: clk
55*b97ee269SEmmanuel Vadot      - const: pclk
56*b97ee269SEmmanuel Vadot
57*b97ee269SEmmanuel Vadot  power-domains:
58*b97ee269SEmmanuel Vadot    maxItems: 1
59*b97ee269SEmmanuel Vadot
60*b97ee269SEmmanuel Vadot  resets:
61*b97ee269SEmmanuel Vadot    maxItems: 1
62*b97ee269SEmmanuel Vadot
63*b97ee269SEmmanuel Vadotrequired:
64*b97ee269SEmmanuel Vadot  - compatible
65*b97ee269SEmmanuel Vadot  - '#interrupt-cells'
66*b97ee269SEmmanuel Vadot  - '#address-cells'
67*b97ee269SEmmanuel Vadot  - interrupt-controller
68*b97ee269SEmmanuel Vadot  - reg
69*b97ee269SEmmanuel Vadot  - interrupts
70*b97ee269SEmmanuel Vadot  - clocks
71*b97ee269SEmmanuel Vadot  - clock-names
72*b97ee269SEmmanuel Vadot  - power-domains
73*b97ee269SEmmanuel Vadot  - resets
74*b97ee269SEmmanuel Vadot
75*b97ee269SEmmanuel VadotunevaluatedProperties: false
76*b97ee269SEmmanuel Vadot
77*b97ee269SEmmanuel Vadotexamples:
78*b97ee269SEmmanuel Vadot  - |
79*b97ee269SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
80*b97ee269SEmmanuel Vadot    #include <dt-bindings/clock/r9a07g044-cpg.h>
81*b97ee269SEmmanuel Vadot
82*b97ee269SEmmanuel Vadot    irqc: interrupt-controller@110a0000 {
83*b97ee269SEmmanuel Vadot            compatible = "renesas,r9a07g044-irqc", "renesas,rzg2l-irqc";
84*b97ee269SEmmanuel Vadot            reg = <0x110a0000 0x10000>;
85*b97ee269SEmmanuel Vadot            #interrupt-cells = <2>;
86*b97ee269SEmmanuel Vadot            #address-cells = <0>;
87*b97ee269SEmmanuel Vadot            interrupt-controller;
88*b97ee269SEmmanuel Vadot            interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
89*b97ee269SEmmanuel Vadot                         <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
90*b97ee269SEmmanuel Vadot                         <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
91*b97ee269SEmmanuel Vadot                         <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
92*b97ee269SEmmanuel Vadot                         <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
93*b97ee269SEmmanuel Vadot                         <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
94*b97ee269SEmmanuel Vadot                         <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
95*b97ee269SEmmanuel Vadot                         <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
96*b97ee269SEmmanuel Vadot                         <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
97*b97ee269SEmmanuel Vadot                         <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
98*b97ee269SEmmanuel Vadot                         <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>,
99*b97ee269SEmmanuel Vadot                         <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>,
100*b97ee269SEmmanuel Vadot                         <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
101*b97ee269SEmmanuel Vadot                         <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
102*b97ee269SEmmanuel Vadot                         <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>,
103*b97ee269SEmmanuel Vadot                         <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>,
104*b97ee269SEmmanuel Vadot                         <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>,
105*b97ee269SEmmanuel Vadot                         <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>,
106*b97ee269SEmmanuel Vadot                         <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>,
107*b97ee269SEmmanuel Vadot                         <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>,
108*b97ee269SEmmanuel Vadot                         <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>,
109*b97ee269SEmmanuel Vadot                         <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>,
110*b97ee269SEmmanuel Vadot                         <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>,
111*b97ee269SEmmanuel Vadot                         <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>,
112*b97ee269SEmmanuel Vadot                         <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>,
113*b97ee269SEmmanuel Vadot                         <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>,
114*b97ee269SEmmanuel Vadot                         <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>,
115*b97ee269SEmmanuel Vadot                         <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>,
116*b97ee269SEmmanuel Vadot                         <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>,
117*b97ee269SEmmanuel Vadot                         <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>,
118*b97ee269SEmmanuel Vadot                         <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>,
119*b97ee269SEmmanuel Vadot                         <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>,
120*b97ee269SEmmanuel Vadot                         <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>,
121*b97ee269SEmmanuel Vadot                         <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>,
122*b97ee269SEmmanuel Vadot                         <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>,
123*b97ee269SEmmanuel Vadot                         <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>,
124*b97ee269SEmmanuel Vadot                         <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>,
125*b97ee269SEmmanuel Vadot                         <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
126*b97ee269SEmmanuel Vadot                         <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
127*b97ee269SEmmanuel Vadot                         <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
128*b97ee269SEmmanuel Vadot                         <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>;
129*b97ee269SEmmanuel Vadot            clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>,
130*b97ee269SEmmanuel Vadot                     <&cpg CPG_MOD R9A07G044_IA55_PCLK>;
131*b97ee269SEmmanuel Vadot            clock-names = "clk", "pclk";
132*b97ee269SEmmanuel Vadot            power-domains = <&cpg>;
133*b97ee269SEmmanuel Vadot            resets = <&cpg R9A07G044_IA55_RESETN>;
134*b97ee269SEmmanuel Vadot    };
135