xref: /linux/Documentation/devicetree/bindings/interrupt-controller/renesas,rzv2h-icu.yaml (revision 1260ed77798502de9c98020040d2995008de10cc)
13d5fb05eSFabrizio Castro# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
23d5fb05eSFabrizio Castro%YAML 1.2
33d5fb05eSFabrizio Castro---
43d5fb05eSFabrizio Castro$id: http://devicetree.org/schemas/interrupt-controller/renesas,rzv2h-icu.yaml#
53d5fb05eSFabrizio Castro$schema: http://devicetree.org/meta-schemas/core.yaml#
63d5fb05eSFabrizio Castro
7*9d245214SBiju Dastitle: Renesas RZ/{G3E,V2H(P)} Interrupt Control Unit
83d5fb05eSFabrizio Castro
93d5fb05eSFabrizio Castromaintainers:
103d5fb05eSFabrizio Castro  - Fabrizio Castro <fabrizio.castro.jz@renesas.com>
113d5fb05eSFabrizio Castro  - Geert Uytterhoeven <geert+renesas@glider.be>
123d5fb05eSFabrizio Castro
133d5fb05eSFabrizio CastroallOf:
143d5fb05eSFabrizio Castro  - $ref: /schemas/interrupt-controller.yaml#
153d5fb05eSFabrizio Castro
163d5fb05eSFabrizio Castrodescription:
173d5fb05eSFabrizio Castro  The Interrupt Control Unit (ICU) handles external interrupts (NMI, IRQ, and
183d5fb05eSFabrizio Castro  TINT), error interrupts, DMAC requests, GPT interrupts, and internal
193d5fb05eSFabrizio Castro  interrupts.
203d5fb05eSFabrizio Castro
213d5fb05eSFabrizio Castroproperties:
223d5fb05eSFabrizio Castro  compatible:
23*9d245214SBiju Das    enum:
24*9d245214SBiju Das      - renesas,r9a09g047-icu # RZ/G3E
25*9d245214SBiju Das      - renesas,r9a09g057-icu # RZ/V2H(P)
263d5fb05eSFabrizio Castro
273d5fb05eSFabrizio Castro  '#interrupt-cells':
283d5fb05eSFabrizio Castro    description: The first cell is the SPI number of the NMI or the
293d5fb05eSFabrizio Castro      PORT_IRQ[0-15] interrupt, as per user manual. The second cell is used to
303d5fb05eSFabrizio Castro      specify the flag.
313d5fb05eSFabrizio Castro    const: 2
323d5fb05eSFabrizio Castro
333d5fb05eSFabrizio Castro  '#address-cells':
343d5fb05eSFabrizio Castro    const: 0
353d5fb05eSFabrizio Castro
363d5fb05eSFabrizio Castro  interrupt-controller: true
373d5fb05eSFabrizio Castro
383d5fb05eSFabrizio Castro  reg:
393d5fb05eSFabrizio Castro    maxItems: 1
403d5fb05eSFabrizio Castro
413d5fb05eSFabrizio Castro  interrupts:
423d5fb05eSFabrizio Castro    minItems: 58
433d5fb05eSFabrizio Castro    items:
443d5fb05eSFabrizio Castro      - description: NMI interrupt
453d5fb05eSFabrizio Castro      - description: PORT_IRQ0 interrupt
463d5fb05eSFabrizio Castro      - description: PORT_IRQ1 interrupt
473d5fb05eSFabrizio Castro      - description: PORT_IRQ2 interrupt
483d5fb05eSFabrizio Castro      - description: PORT_IRQ3 interrupt
493d5fb05eSFabrizio Castro      - description: PORT_IRQ4 interrupt
503d5fb05eSFabrizio Castro      - description: PORT_IRQ5 interrupt
513d5fb05eSFabrizio Castro      - description: PORT_IRQ6 interrupt
523d5fb05eSFabrizio Castro      - description: PORT_IRQ7 interrupt
533d5fb05eSFabrizio Castro      - description: PORT_IRQ8 interrupt
543d5fb05eSFabrizio Castro      - description: PORT_IRQ9 interrupt
553d5fb05eSFabrizio Castro      - description: PORT_IRQ10 interrupt
563d5fb05eSFabrizio Castro      - description: PORT_IRQ11 interrupt
573d5fb05eSFabrizio Castro      - description: PORT_IRQ12 interrupt
583d5fb05eSFabrizio Castro      - description: PORT_IRQ13 interrupt
593d5fb05eSFabrizio Castro      - description: PORT_IRQ14 interrupt
603d5fb05eSFabrizio Castro      - description: PORT_IRQ15 interrupt
613d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT0
623d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT1
633d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT2
643d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT3
653d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT4
663d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT5
673d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT6
683d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT7
693d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT8
703d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT9
713d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT10
723d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT11
733d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT12
743d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT13
753d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT14
763d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT15
773d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT16
783d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT17
793d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT18
803d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT19
813d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT20
823d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT21
833d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT22
843d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT23
853d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT24
863d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT25
873d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT26
883d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT27
893d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT28
903d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT29
913d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT30
923d5fb05eSFabrizio Castro      - description: GPIO interrupt, TINT31
933d5fb05eSFabrizio Castro      - description: Software interrupt, INTA55_0
943d5fb05eSFabrizio Castro      - description: Software interrupt, INTA55_1
953d5fb05eSFabrizio Castro      - description: Software interrupt, INTA55_2
963d5fb05eSFabrizio Castro      - description: Software interrupt, INTA55_3
973d5fb05eSFabrizio Castro      - description: Error interrupt to CA55
983d5fb05eSFabrizio Castro      - description: GTCCRA compare match/input capture (U0)
993d5fb05eSFabrizio Castro      - description: GTCCRB compare match/input capture (U0)
1003d5fb05eSFabrizio Castro      - description: GTCCRA compare match/input capture (U1)
1013d5fb05eSFabrizio Castro      - description: GTCCRB compare match/input capture (U1)
1023d5fb05eSFabrizio Castro
1033d5fb05eSFabrizio Castro  interrupt-names:
1043d5fb05eSFabrizio Castro    minItems: 58
1053d5fb05eSFabrizio Castro    items:
1063d5fb05eSFabrizio Castro      - const: nmi
1073d5fb05eSFabrizio Castro      - const: port_irq0
1083d5fb05eSFabrizio Castro      - const: port_irq1
1093d5fb05eSFabrizio Castro      - const: port_irq2
1103d5fb05eSFabrizio Castro      - const: port_irq3
1113d5fb05eSFabrizio Castro      - const: port_irq4
1123d5fb05eSFabrizio Castro      - const: port_irq5
1133d5fb05eSFabrizio Castro      - const: port_irq6
1143d5fb05eSFabrizio Castro      - const: port_irq7
1153d5fb05eSFabrizio Castro      - const: port_irq8
1163d5fb05eSFabrizio Castro      - const: port_irq9
1173d5fb05eSFabrizio Castro      - const: port_irq10
1183d5fb05eSFabrizio Castro      - const: port_irq11
1193d5fb05eSFabrizio Castro      - const: port_irq12
1203d5fb05eSFabrizio Castro      - const: port_irq13
1213d5fb05eSFabrizio Castro      - const: port_irq14
1223d5fb05eSFabrizio Castro      - const: port_irq15
1233d5fb05eSFabrizio Castro      - const: tint0
1243d5fb05eSFabrizio Castro      - const: tint1
1253d5fb05eSFabrizio Castro      - const: tint2
1263d5fb05eSFabrizio Castro      - const: tint3
1273d5fb05eSFabrizio Castro      - const: tint4
1283d5fb05eSFabrizio Castro      - const: tint5
1293d5fb05eSFabrizio Castro      - const: tint6
1303d5fb05eSFabrizio Castro      - const: tint7
1313d5fb05eSFabrizio Castro      - const: tint8
1323d5fb05eSFabrizio Castro      - const: tint9
1333d5fb05eSFabrizio Castro      - const: tint10
1343d5fb05eSFabrizio Castro      - const: tint11
1353d5fb05eSFabrizio Castro      - const: tint12
1363d5fb05eSFabrizio Castro      - const: tint13
1373d5fb05eSFabrizio Castro      - const: tint14
1383d5fb05eSFabrizio Castro      - const: tint15
1393d5fb05eSFabrizio Castro      - const: tint16
1403d5fb05eSFabrizio Castro      - const: tint17
1413d5fb05eSFabrizio Castro      - const: tint18
1423d5fb05eSFabrizio Castro      - const: tint19
1433d5fb05eSFabrizio Castro      - const: tint20
1443d5fb05eSFabrizio Castro      - const: tint21
1453d5fb05eSFabrizio Castro      - const: tint22
1463d5fb05eSFabrizio Castro      - const: tint23
1473d5fb05eSFabrizio Castro      - const: tint24
1483d5fb05eSFabrizio Castro      - const: tint25
1493d5fb05eSFabrizio Castro      - const: tint26
1503d5fb05eSFabrizio Castro      - const: tint27
1513d5fb05eSFabrizio Castro      - const: tint28
1523d5fb05eSFabrizio Castro      - const: tint29
1533d5fb05eSFabrizio Castro      - const: tint30
1543d5fb05eSFabrizio Castro      - const: tint31
1553d5fb05eSFabrizio Castro      - const: int-ca55-0
1563d5fb05eSFabrizio Castro      - const: int-ca55-1
1573d5fb05eSFabrizio Castro      - const: int-ca55-2
1583d5fb05eSFabrizio Castro      - const: int-ca55-3
1593d5fb05eSFabrizio Castro      - const: icu-error-ca55
1603d5fb05eSFabrizio Castro      - const: gpt-u0-gtciada
1613d5fb05eSFabrizio Castro      - const: gpt-u0-gtciadb
1623d5fb05eSFabrizio Castro      - const: gpt-u1-gtciada
1633d5fb05eSFabrizio Castro      - const: gpt-u1-gtciadb
1643d5fb05eSFabrizio Castro
1653d5fb05eSFabrizio Castro  clocks:
1663d5fb05eSFabrizio Castro    maxItems: 1
1673d5fb05eSFabrizio Castro
1683d5fb05eSFabrizio Castro  power-domains:
1693d5fb05eSFabrizio Castro    maxItems: 1
1703d5fb05eSFabrizio Castro
1713d5fb05eSFabrizio Castro  resets:
1723d5fb05eSFabrizio Castro    maxItems: 1
1733d5fb05eSFabrizio Castro
1743d5fb05eSFabrizio Castrorequired:
1753d5fb05eSFabrizio Castro  - compatible
1763d5fb05eSFabrizio Castro  - reg
1773d5fb05eSFabrizio Castro  - '#interrupt-cells'
1783d5fb05eSFabrizio Castro  - '#address-cells'
1793d5fb05eSFabrizio Castro  - interrupt-controller
1803d5fb05eSFabrizio Castro  - interrupts
1813d5fb05eSFabrizio Castro  - interrupt-names
1823d5fb05eSFabrizio Castro  - clocks
1833d5fb05eSFabrizio Castro  - power-domains
1843d5fb05eSFabrizio Castro  - resets
1853d5fb05eSFabrizio Castro
1863d5fb05eSFabrizio CastrounevaluatedProperties: false
1873d5fb05eSFabrizio Castro
1883d5fb05eSFabrizio Castroexamples:
1893d5fb05eSFabrizio Castro  - |
1903d5fb05eSFabrizio Castro    #include <dt-bindings/interrupt-controller/arm-gic.h>
1913d5fb05eSFabrizio Castro    #include <dt-bindings/clock/renesas-cpg-mssr.h>
1923d5fb05eSFabrizio Castro
1933d5fb05eSFabrizio Castro    icu: interrupt-controller@10400000 {
1943d5fb05eSFabrizio Castro        compatible = "renesas,r9a09g057-icu";
1953d5fb05eSFabrizio Castro        reg = <0x10400000 0x10000>;
1963d5fb05eSFabrizio Castro        #interrupt-cells = <2>;
1973d5fb05eSFabrizio Castro        #address-cells = <0>;
1983d5fb05eSFabrizio Castro        interrupt-controller;
1993d5fb05eSFabrizio Castro        interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
2003d5fb05eSFabrizio Castro                     <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
2013d5fb05eSFabrizio Castro                     <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
2023d5fb05eSFabrizio Castro                     <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
2033d5fb05eSFabrizio Castro                     <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
2043d5fb05eSFabrizio Castro                     <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
2053d5fb05eSFabrizio Castro                     <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
2063d5fb05eSFabrizio Castro                     <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
2073d5fb05eSFabrizio Castro                     <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
2083d5fb05eSFabrizio Castro                     <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
2093d5fb05eSFabrizio Castro                     <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
2103d5fb05eSFabrizio Castro                     <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
2113d5fb05eSFabrizio Castro                     <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
2123d5fb05eSFabrizio Castro                     <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
2133d5fb05eSFabrizio Castro                     <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
2143d5fb05eSFabrizio Castro                     <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
2153d5fb05eSFabrizio Castro                     <GIC_SPI 16 IRQ_TYPE_LEVEL_HIGH>,
2163d5fb05eSFabrizio Castro                     <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>,
2173d5fb05eSFabrizio Castro                     <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,
2183d5fb05eSFabrizio Castro                     <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,
2193d5fb05eSFabrizio Castro                     <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,
2203d5fb05eSFabrizio Castro                     <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,
2213d5fb05eSFabrizio Castro                     <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,
2223d5fb05eSFabrizio Castro                     <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>,
2233d5fb05eSFabrizio Castro                     <GIC_SPI 426 IRQ_TYPE_LEVEL_HIGH>,
2243d5fb05eSFabrizio Castro                     <GIC_SPI 427 IRQ_TYPE_LEVEL_HIGH>,
2253d5fb05eSFabrizio Castro                     <GIC_SPI 428 IRQ_TYPE_LEVEL_HIGH>,
2263d5fb05eSFabrizio Castro                     <GIC_SPI 429 IRQ_TYPE_LEVEL_HIGH>,
2273d5fb05eSFabrizio Castro                     <GIC_SPI 430 IRQ_TYPE_LEVEL_HIGH>,
2283d5fb05eSFabrizio Castro                     <GIC_SPI 431 IRQ_TYPE_LEVEL_HIGH>,
2293d5fb05eSFabrizio Castro                     <GIC_SPI 432 IRQ_TYPE_LEVEL_HIGH>,
2303d5fb05eSFabrizio Castro                     <GIC_SPI 433 IRQ_TYPE_LEVEL_HIGH>,
2313d5fb05eSFabrizio Castro                     <GIC_SPI 434 IRQ_TYPE_LEVEL_HIGH>,
2323d5fb05eSFabrizio Castro                     <GIC_SPI 435 IRQ_TYPE_LEVEL_HIGH>,
2333d5fb05eSFabrizio Castro                     <GIC_SPI 436 IRQ_TYPE_LEVEL_HIGH>,
2343d5fb05eSFabrizio Castro                     <GIC_SPI 437 IRQ_TYPE_LEVEL_HIGH>,
2353d5fb05eSFabrizio Castro                     <GIC_SPI 438 IRQ_TYPE_LEVEL_HIGH>,
2363d5fb05eSFabrizio Castro                     <GIC_SPI 439 IRQ_TYPE_LEVEL_HIGH>,
2373d5fb05eSFabrizio Castro                     <GIC_SPI 440 IRQ_TYPE_LEVEL_HIGH>,
2383d5fb05eSFabrizio Castro                     <GIC_SPI 441 IRQ_TYPE_LEVEL_HIGH>,
2393d5fb05eSFabrizio Castro                     <GIC_SPI 442 IRQ_TYPE_LEVEL_HIGH>,
2403d5fb05eSFabrizio Castro                     <GIC_SPI 443 IRQ_TYPE_LEVEL_HIGH>,
2413d5fb05eSFabrizio Castro                     <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>,
2423d5fb05eSFabrizio Castro                     <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>,
2433d5fb05eSFabrizio Castro                     <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>,
2443d5fb05eSFabrizio Castro                     <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>,
2453d5fb05eSFabrizio Castro                     <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>,
2463d5fb05eSFabrizio Castro                     <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>,
2473d5fb05eSFabrizio Castro                     <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>,
2483d5fb05eSFabrizio Castro                     <GIC_SPI 262 IRQ_TYPE_EDGE_RISING>,
2493d5fb05eSFabrizio Castro                     <GIC_SPI 263 IRQ_TYPE_EDGE_RISING>,
2503d5fb05eSFabrizio Castro                     <GIC_SPI 264 IRQ_TYPE_EDGE_RISING>,
2513d5fb05eSFabrizio Castro                     <GIC_SPI 265 IRQ_TYPE_EDGE_RISING>,
2523d5fb05eSFabrizio Castro                     <GIC_SPI 266 IRQ_TYPE_LEVEL_HIGH>,
2533d5fb05eSFabrizio Castro                     <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>,
2543d5fb05eSFabrizio Castro                     <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>,
2553d5fb05eSFabrizio Castro                     <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>,
2563d5fb05eSFabrizio Castro                     <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>;
2573d5fb05eSFabrizio Castro        interrupt-names = "nmi",
2583d5fb05eSFabrizio Castro                          "port_irq0", "port_irq1", "port_irq2",
2593d5fb05eSFabrizio Castro                          "port_irq3", "port_irq4", "port_irq5",
2603d5fb05eSFabrizio Castro                          "port_irq6", "port_irq7", "port_irq8",
2613d5fb05eSFabrizio Castro                          "port_irq9", "port_irq10", "port_irq11",
2623d5fb05eSFabrizio Castro                          "port_irq12", "port_irq13", "port_irq14",
2633d5fb05eSFabrizio Castro                          "port_irq15",
2643d5fb05eSFabrizio Castro                          "tint0", "tint1", "tint2", "tint3",
2653d5fb05eSFabrizio Castro                          "tint4", "tint5", "tint6", "tint7",
2663d5fb05eSFabrizio Castro                          "tint8", "tint9", "tint10", "tint11",
2673d5fb05eSFabrizio Castro                          "tint12", "tint13", "tint14", "tint15",
2683d5fb05eSFabrizio Castro                          "tint16", "tint17", "tint18", "tint19",
2693d5fb05eSFabrizio Castro                          "tint20", "tint21", "tint22", "tint23",
2703d5fb05eSFabrizio Castro                          "tint24", "tint25", "tint26", "tint27",
2713d5fb05eSFabrizio Castro                          "tint28", "tint29", "tint30", "tint31",
2723d5fb05eSFabrizio Castro                          "int-ca55-0", "int-ca55-1",
2733d5fb05eSFabrizio Castro                          "int-ca55-2", "int-ca55-3",
2743d5fb05eSFabrizio Castro                          "icu-error-ca55",
2753d5fb05eSFabrizio Castro                          "gpt-u0-gtciada", "gpt-u0-gtciadb",
2763d5fb05eSFabrizio Castro                          "gpt-u1-gtciada", "gpt-u1-gtciadb";
2773d5fb05eSFabrizio Castro        clocks = <&cpg CPG_MOD 0x5>;
2783d5fb05eSFabrizio Castro        power-domains = <&cpg>;
2793d5fb05eSFabrizio Castro        resets = <&cpg 0x36>;
2803d5fb05eSFabrizio Castro    };
281