xref: /freebsd/sys/contrib/device-tree/Bindings/interrupt-controller/renesas,rzv2h-icu.yaml (revision 8ccc0d235c226d84112561d453c49904398d085c)
15f62a964SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
25f62a964SEmmanuel Vadot%YAML 1.2
35f62a964SEmmanuel Vadot---
45f62a964SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/renesas,rzv2h-icu.yaml#
55f62a964SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65f62a964SEmmanuel Vadot
7*8ccc0d23SEmmanuel Vadottitle: Renesas RZ/{G3E,V2H(P)} Interrupt Control Unit
85f62a964SEmmanuel Vadot
95f62a964SEmmanuel Vadotmaintainers:
105f62a964SEmmanuel Vadot  - Fabrizio Castro <fabrizio.castro.jz@renesas.com>
115f62a964SEmmanuel Vadot  - Geert Uytterhoeven <geert+renesas@glider.be>
125f62a964SEmmanuel Vadot
135f62a964SEmmanuel VadotallOf:
145f62a964SEmmanuel Vadot  - $ref: /schemas/interrupt-controller.yaml#
155f62a964SEmmanuel Vadot
165f62a964SEmmanuel Vadotdescription:
175f62a964SEmmanuel Vadot  The Interrupt Control Unit (ICU) handles external interrupts (NMI, IRQ, and
185f62a964SEmmanuel Vadot  TINT), error interrupts, DMAC requests, GPT interrupts, and internal
195f62a964SEmmanuel Vadot  interrupts.
205f62a964SEmmanuel Vadot
215f62a964SEmmanuel Vadotproperties:
225f62a964SEmmanuel Vadot  compatible:
23*8ccc0d23SEmmanuel Vadot    enum:
24*8ccc0d23SEmmanuel Vadot      - renesas,r9a09g047-icu # RZ/G3E
25*8ccc0d23SEmmanuel Vadot      - renesas,r9a09g057-icu # RZ/V2H(P)
265f62a964SEmmanuel Vadot
275f62a964SEmmanuel Vadot  '#interrupt-cells':
285f62a964SEmmanuel Vadot    description: The first cell is the SPI number of the NMI or the
295f62a964SEmmanuel Vadot      PORT_IRQ[0-15] interrupt, as per user manual. The second cell is used to
305f62a964SEmmanuel Vadot      specify the flag.
315f62a964SEmmanuel Vadot    const: 2
325f62a964SEmmanuel Vadot
335f62a964SEmmanuel Vadot  '#address-cells':
345f62a964SEmmanuel Vadot    const: 0
355f62a964SEmmanuel Vadot
365f62a964SEmmanuel Vadot  interrupt-controller: true
375f62a964SEmmanuel Vadot
385f62a964SEmmanuel Vadot  reg:
395f62a964SEmmanuel Vadot    maxItems: 1
405f62a964SEmmanuel Vadot
415f62a964SEmmanuel Vadot  interrupts:
425f62a964SEmmanuel Vadot    minItems: 58
435f62a964SEmmanuel Vadot    items:
445f62a964SEmmanuel Vadot      - description: NMI interrupt
455f62a964SEmmanuel Vadot      - description: PORT_IRQ0 interrupt
465f62a964SEmmanuel Vadot      - description: PORT_IRQ1 interrupt
475f62a964SEmmanuel Vadot      - description: PORT_IRQ2 interrupt
485f62a964SEmmanuel Vadot      - description: PORT_IRQ3 interrupt
495f62a964SEmmanuel Vadot      - description: PORT_IRQ4 interrupt
505f62a964SEmmanuel Vadot      - description: PORT_IRQ5 interrupt
515f62a964SEmmanuel Vadot      - description: PORT_IRQ6 interrupt
525f62a964SEmmanuel Vadot      - description: PORT_IRQ7 interrupt
535f62a964SEmmanuel Vadot      - description: PORT_IRQ8 interrupt
545f62a964SEmmanuel Vadot      - description: PORT_IRQ9 interrupt
555f62a964SEmmanuel Vadot      - description: PORT_IRQ10 interrupt
565f62a964SEmmanuel Vadot      - description: PORT_IRQ11 interrupt
575f62a964SEmmanuel Vadot      - description: PORT_IRQ12 interrupt
585f62a964SEmmanuel Vadot      - description: PORT_IRQ13 interrupt
595f62a964SEmmanuel Vadot      - description: PORT_IRQ14 interrupt
605f62a964SEmmanuel Vadot      - description: PORT_IRQ15 interrupt
615f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT0
625f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT1
635f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT2
645f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT3
655f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT4
665f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT5
675f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT6
685f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT7
695f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT8
705f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT9
715f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT10
725f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT11
735f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT12
745f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT13
755f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT14
765f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT15
775f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT16
785f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT17
795f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT18
805f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT19
815f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT20
825f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT21
835f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT22
845f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT23
855f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT24
865f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT25
875f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT26
885f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT27
895f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT28
905f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT29
915f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT30
925f62a964SEmmanuel Vadot      - description: GPIO interrupt, TINT31
935f62a964SEmmanuel Vadot      - description: Software interrupt, INTA55_0
945f62a964SEmmanuel Vadot      - description: Software interrupt, INTA55_1
955f62a964SEmmanuel Vadot      - description: Software interrupt, INTA55_2
965f62a964SEmmanuel Vadot      - description: Software interrupt, INTA55_3
975f62a964SEmmanuel Vadot      - description: Error interrupt to CA55
985f62a964SEmmanuel Vadot      - description: GTCCRA compare match/input capture (U0)
995f62a964SEmmanuel Vadot      - description: GTCCRB compare match/input capture (U0)
1005f62a964SEmmanuel Vadot      - description: GTCCRA compare match/input capture (U1)
1015f62a964SEmmanuel Vadot      - description: GTCCRB compare match/input capture (U1)
1025f62a964SEmmanuel Vadot
1035f62a964SEmmanuel Vadot  interrupt-names:
1045f62a964SEmmanuel Vadot    minItems: 58
1055f62a964SEmmanuel Vadot    items:
1065f62a964SEmmanuel Vadot      - const: nmi
1075f62a964SEmmanuel Vadot      - const: port_irq0
1085f62a964SEmmanuel Vadot      - const: port_irq1
1095f62a964SEmmanuel Vadot      - const: port_irq2
1105f62a964SEmmanuel Vadot      - const: port_irq3
1115f62a964SEmmanuel Vadot      - const: port_irq4
1125f62a964SEmmanuel Vadot      - const: port_irq5
1135f62a964SEmmanuel Vadot      - const: port_irq6
1145f62a964SEmmanuel Vadot      - const: port_irq7
1155f62a964SEmmanuel Vadot      - const: port_irq8
1165f62a964SEmmanuel Vadot      - const: port_irq9
1175f62a964SEmmanuel Vadot      - const: port_irq10
1185f62a964SEmmanuel Vadot      - const: port_irq11
1195f62a964SEmmanuel Vadot      - const: port_irq12
1205f62a964SEmmanuel Vadot      - const: port_irq13
1215f62a964SEmmanuel Vadot      - const: port_irq14
1225f62a964SEmmanuel Vadot      - const: port_irq15
1235f62a964SEmmanuel Vadot      - const: tint0
1245f62a964SEmmanuel Vadot      - const: tint1
1255f62a964SEmmanuel Vadot      - const: tint2
1265f62a964SEmmanuel Vadot      - const: tint3
1275f62a964SEmmanuel Vadot      - const: tint4
1285f62a964SEmmanuel Vadot      - const: tint5
1295f62a964SEmmanuel Vadot      - const: tint6
1305f62a964SEmmanuel Vadot      - const: tint7
1315f62a964SEmmanuel Vadot      - const: tint8
1325f62a964SEmmanuel Vadot      - const: tint9
1335f62a964SEmmanuel Vadot      - const: tint10
1345f62a964SEmmanuel Vadot      - const: tint11
1355f62a964SEmmanuel Vadot      - const: tint12
1365f62a964SEmmanuel Vadot      - const: tint13
1375f62a964SEmmanuel Vadot      - const: tint14
1385f62a964SEmmanuel Vadot      - const: tint15
1395f62a964SEmmanuel Vadot      - const: tint16
1405f62a964SEmmanuel Vadot      - const: tint17
1415f62a964SEmmanuel Vadot      - const: tint18
1425f62a964SEmmanuel Vadot      - const: tint19
1435f62a964SEmmanuel Vadot      - const: tint20
1445f62a964SEmmanuel Vadot      - const: tint21
1455f62a964SEmmanuel Vadot      - const: tint22
1465f62a964SEmmanuel Vadot      - const: tint23
1475f62a964SEmmanuel Vadot      - const: tint24
1485f62a964SEmmanuel Vadot      - const: tint25
1495f62a964SEmmanuel Vadot      - const: tint26
1505f62a964SEmmanuel Vadot      - const: tint27
1515f62a964SEmmanuel Vadot      - const: tint28
1525f62a964SEmmanuel Vadot      - const: tint29
1535f62a964SEmmanuel Vadot      - const: tint30
1545f62a964SEmmanuel Vadot      - const: tint31
1555f62a964SEmmanuel Vadot      - const: int-ca55-0
1565f62a964SEmmanuel Vadot      - const: int-ca55-1
1575f62a964SEmmanuel Vadot      - const: int-ca55-2
1585f62a964SEmmanuel Vadot      - const: int-ca55-3
1595f62a964SEmmanuel Vadot      - const: icu-error-ca55
1605f62a964SEmmanuel Vadot      - const: gpt-u0-gtciada
1615f62a964SEmmanuel Vadot      - const: gpt-u0-gtciadb
1625f62a964SEmmanuel Vadot      - const: gpt-u1-gtciada
1635f62a964SEmmanuel Vadot      - const: gpt-u1-gtciadb
1645f62a964SEmmanuel Vadot
1655f62a964SEmmanuel Vadot  clocks:
1665f62a964SEmmanuel Vadot    maxItems: 1
1675f62a964SEmmanuel Vadot
1685f62a964SEmmanuel Vadot  power-domains:
1695f62a964SEmmanuel Vadot    maxItems: 1
1705f62a964SEmmanuel Vadot
1715f62a964SEmmanuel Vadot  resets:
1725f62a964SEmmanuel Vadot    maxItems: 1
1735f62a964SEmmanuel Vadot
1745f62a964SEmmanuel Vadotrequired:
1755f62a964SEmmanuel Vadot  - compatible
1765f62a964SEmmanuel Vadot  - reg
1775f62a964SEmmanuel Vadot  - '#interrupt-cells'
1785f62a964SEmmanuel Vadot  - '#address-cells'
1795f62a964SEmmanuel Vadot  - interrupt-controller
1805f62a964SEmmanuel Vadot  - interrupts
1815f62a964SEmmanuel Vadot  - interrupt-names
1825f62a964SEmmanuel Vadot  - clocks
1835f62a964SEmmanuel Vadot  - power-domains
1845f62a964SEmmanuel Vadot  - resets
1855f62a964SEmmanuel Vadot
1865f62a964SEmmanuel VadotunevaluatedProperties: false
1875f62a964SEmmanuel Vadot
1885f62a964SEmmanuel Vadotexamples:
1895f62a964SEmmanuel Vadot  - |
1905f62a964SEmmanuel Vadot    #include <dt-bindings/interrupt-controller/arm-gic.h>
1915f62a964SEmmanuel Vadot    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1925f62a964SEmmanuel Vadot
1935f62a964SEmmanuel Vadot    icu: interrupt-controller@10400000 {
1945f62a964SEmmanuel Vadot        compatible = "renesas,r9a09g057-icu";
1955f62a964SEmmanuel Vadot        reg = <0x10400000 0x10000>;
1965f62a964SEmmanuel Vadot        #interrupt-cells = <2>;
1975f62a964SEmmanuel Vadot        #address-cells = <0>;
1985f62a964SEmmanuel Vadot        interrupt-controller;
1995f62a964SEmmanuel Vadot        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
2005f62a964SEmmanuel Vadot                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
2015f62a964SEmmanuel Vadot                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
2025f62a964SEmmanuel Vadot                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
2035f62a964SEmmanuel Vadot                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
2045f62a964SEmmanuel Vadot                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
2055f62a964SEmmanuel Vadot                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
2065f62a964SEmmanuel Vadot                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
2075f62a964SEmmanuel Vadot                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2085f62a964SEmmanuel Vadot                     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
2095f62a964SEmmanuel Vadot                     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
2105f62a964SEmmanuel Vadot                     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
2115f62a964SEmmanuel Vadot                     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
2125f62a964SEmmanuel Vadot                     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
2135f62a964SEmmanuel Vadot                     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
2145f62a964SEmmanuel Vadot                     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
2155f62a964SEmmanuel Vadot                     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
2165f62a964SEmmanuel Vadot                     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
2175f62a964SEmmanuel Vadot                     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
2185f62a964SEmmanuel Vadot                     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
2195f62a964SEmmanuel Vadot                     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2205f62a964SEmmanuel Vadot                     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
2215f62a964SEmmanuel Vadot                     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
2225f62a964SEmmanuel Vadot                     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
2235f62a964SEmmanuel Vadot                     <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
2245f62a964SEmmanuel Vadot                     <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
2255f62a964SEmmanuel Vadot                     <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
2265f62a964SEmmanuel Vadot                     <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
2275f62a964SEmmanuel Vadot                     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
2285f62a964SEmmanuel Vadot                     <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>,
2295f62a964SEmmanuel Vadot                     <GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
2305f62a964SEmmanuel Vadot                     <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>,
2315f62a964SEmmanuel Vadot                     <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
2325f62a964SEmmanuel Vadot                     <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
2335f62a964SEmmanuel Vadot                     <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>,
2345f62a964SEmmanuel Vadot                     <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>,
2355f62a964SEmmanuel Vadot                     <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>,
2365f62a964SEmmanuel Vadot                     <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>,
2375f62a964SEmmanuel Vadot                     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
2385f62a964SEmmanuel Vadot                     <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>,
2395f62a964SEmmanuel Vadot                     <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
2405f62a964SEmmanuel Vadot                     <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>,
2415f62a964SEmmanuel Vadot                     <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
2425f62a964SEmmanuel Vadot                     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>,
2435f62a964SEmmanuel Vadot                     <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>,
2445f62a964SEmmanuel Vadot                     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
2455f62a964SEmmanuel Vadot                     <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
2465f62a964SEmmanuel Vadot                     <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>,
2475f62a964SEmmanuel Vadot                     <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>,
2485f62a964SEmmanuel Vadot                     <GIC_SPI 262 IRQ_TYPE_EDGE_RISING>,
2495f62a964SEmmanuel Vadot                     <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>,
2505f62a964SEmmanuel Vadot                     <GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
2515f62a964SEmmanuel Vadot                     <GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
2525f62a964SEmmanuel Vadot                     <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
2535f62a964SEmmanuel Vadot                     <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>,
2545f62a964SEmmanuel Vadot                     <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>,
2555f62a964SEmmanuel Vadot                     <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>,
2565f62a964SEmmanuel Vadot                     <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>;
2575f62a964SEmmanuel Vadot        interrupt-names = "nmi",
2585f62a964SEmmanuel Vadot                          "port_irq0", "port_irq1", "port_irq2",
2595f62a964SEmmanuel Vadot                          "port_irq3", "port_irq4", "port_irq5",
2605f62a964SEmmanuel Vadot                          "port_irq6", "port_irq7", "port_irq8",
2615f62a964SEmmanuel Vadot                          "port_irq9", "port_irq10", "port_irq11",
2625f62a964SEmmanuel Vadot                          "port_irq12", "port_irq13", "port_irq14",
2635f62a964SEmmanuel Vadot                          "port_irq15",
2645f62a964SEmmanuel Vadot                          "tint0", "tint1", "tint2", "tint3",
2655f62a964SEmmanuel Vadot                          "tint4", "tint5", "tint6", "tint7",
2665f62a964SEmmanuel Vadot                          "tint8", "tint9", "tint10", "tint11",
2675f62a964SEmmanuel Vadot                          "tint12", "tint13", "tint14", "tint15",
2685f62a964SEmmanuel Vadot                          "tint16", "tint17", "tint18", "tint19",
2695f62a964SEmmanuel Vadot                          "tint20", "tint21", "tint22", "tint23",
2705f62a964SEmmanuel Vadot                          "tint24", "tint25", "tint26", "tint27",
2715f62a964SEmmanuel Vadot                          "tint28", "tint29", "tint30", "tint31",
2725f62a964SEmmanuel Vadot                          "int-ca55-0", "int-ca55-1",
2735f62a964SEmmanuel Vadot                          "int-ca55-2", "int-ca55-3",
2745f62a964SEmmanuel Vadot                          "icu-error-ca55",
2755f62a964SEmmanuel Vadot                          "gpt-u0-gtciada", "gpt-u0-gtciadb",
2765f62a964SEmmanuel Vadot                          "gpt-u1-gtciada", "gpt-u1-gtciadb";
2775f62a964SEmmanuel Vadot        clocks = <&cpg CPG_MOD 0x5>;
2785f62a964SEmmanuel Vadot        power-domains = <&cpg>;
2795f62a964SEmmanuel Vadot        resets = <&cpg 0x36>;
2805f62a964SEmmanuel Vadot    };
281