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: 24*372487b2SLad Prabhakar oneOf: 25*372487b2SLad Prabhakar - items: 2696fed779SLad Prabhakar - enum: 27db712c00SLad Prabhakar - renesas,r9a07g043u-irqc # RZ/G2UL 288cfc90ecSLad Prabhakar - renesas,r9a07g044-irqc # RZ/G2{L,LC} 298cfc90ecSLad Prabhakar - renesas,r9a07g054-irqc # RZ/V2L 301cf0697aSClaudiu Beznea - renesas,r9a08g045-irqc # RZ/G3S 3196fed779SLad Prabhakar - const: renesas,rzg2l-irqc 3296fed779SLad Prabhakar 33*372487b2SLad Prabhakar - const: renesas,r9a07g043f-irqc # RZ/Five 34*372487b2SLad Prabhakar 3596fed779SLad Prabhakar '#interrupt-cells': 36cfa1f9dbSLad Prabhakar description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the 37cfa1f9dbSLad Prabhakar include/dt-bindings/interrupt-controller/irqc-rzg2l.h and the second 38cfa1f9dbSLad Prabhakar cell is used to specify the flag. 3996fed779SLad Prabhakar const: 2 4096fed779SLad Prabhakar 4196fed779SLad Prabhakar '#address-cells': 4296fed779SLad Prabhakar const: 0 4396fed779SLad Prabhakar 4496fed779SLad Prabhakar interrupt-controller: true 4596fed779SLad Prabhakar 4696fed779SLad Prabhakar reg: 4796fed779SLad Prabhakar maxItems: 1 4896fed779SLad Prabhakar 4996fed779SLad Prabhakar interrupts: 50392703b6SLad Prabhakar minItems: 45 51db712c00SLad Prabhakar items: 52db712c00SLad Prabhakar - description: NMI interrupt 53db712c00SLad Prabhakar - description: IRQ0 interrupt 54db712c00SLad Prabhakar - description: IRQ1 interrupt 55db712c00SLad Prabhakar - description: IRQ2 interrupt 56db712c00SLad Prabhakar - description: IRQ3 interrupt 57db712c00SLad Prabhakar - description: IRQ4 interrupt 58db712c00SLad Prabhakar - description: IRQ5 interrupt 59db712c00SLad Prabhakar - description: IRQ6 interrupt 60db712c00SLad Prabhakar - description: IRQ7 interrupt 61db712c00SLad Prabhakar - description: GPIO interrupt, TINT0 62db712c00SLad Prabhakar - description: GPIO interrupt, TINT1 63db712c00SLad Prabhakar - description: GPIO interrupt, TINT2 64db712c00SLad Prabhakar - description: GPIO interrupt, TINT3 65db712c00SLad Prabhakar - description: GPIO interrupt, TINT4 66db712c00SLad Prabhakar - description: GPIO interrupt, TINT5 67db712c00SLad Prabhakar - description: GPIO interrupt, TINT6 68db712c00SLad Prabhakar - description: GPIO interrupt, TINT7 69db712c00SLad Prabhakar - description: GPIO interrupt, TINT8 70db712c00SLad Prabhakar - description: GPIO interrupt, TINT9 71db712c00SLad Prabhakar - description: GPIO interrupt, TINT10 72db712c00SLad Prabhakar - description: GPIO interrupt, TINT11 73db712c00SLad Prabhakar - description: GPIO interrupt, TINT12 74db712c00SLad Prabhakar - description: GPIO interrupt, TINT13 75db712c00SLad Prabhakar - description: GPIO interrupt, TINT14 76db712c00SLad Prabhakar - description: GPIO interrupt, TINT15 77db712c00SLad Prabhakar - description: GPIO interrupt, TINT16 78db712c00SLad Prabhakar - description: GPIO interrupt, TINT17 79db712c00SLad Prabhakar - description: GPIO interrupt, TINT18 80db712c00SLad Prabhakar - description: GPIO interrupt, TINT19 81db712c00SLad Prabhakar - description: GPIO interrupt, TINT20 82db712c00SLad Prabhakar - description: GPIO interrupt, TINT21 83db712c00SLad Prabhakar - description: GPIO interrupt, TINT22 84db712c00SLad Prabhakar - description: GPIO interrupt, TINT23 85db712c00SLad Prabhakar - description: GPIO interrupt, TINT24 86db712c00SLad Prabhakar - description: GPIO interrupt, TINT25 87db712c00SLad Prabhakar - description: GPIO interrupt, TINT26 88db712c00SLad Prabhakar - description: GPIO interrupt, TINT27 89db712c00SLad Prabhakar - description: GPIO interrupt, TINT28 90db712c00SLad Prabhakar - description: GPIO interrupt, TINT29 91db712c00SLad Prabhakar - description: GPIO interrupt, TINT30 92db712c00SLad Prabhakar - description: GPIO interrupt, TINT31 93db712c00SLad Prabhakar - description: Bus error interrupt 94392703b6SLad Prabhakar - description: ECCRAM0 or combined ECCRAM0/1 1bit error interrupt 95392703b6SLad Prabhakar - description: ECCRAM0 or combined ECCRAM0/1 2bit error interrupt 96392703b6SLad Prabhakar - description: ECCRAM0 or combined ECCRAM0/1 error overflow interrupt 97392703b6SLad Prabhakar - description: ECCRAM1 1bit error interrupt 98392703b6SLad Prabhakar - description: ECCRAM1 2bit error interrupt 99392703b6SLad Prabhakar - description: ECCRAM1 error overflow interrupt 100db712c00SLad Prabhakar 101db712c00SLad Prabhakar interrupt-names: 102392703b6SLad Prabhakar minItems: 45 103db712c00SLad Prabhakar items: 104db712c00SLad Prabhakar - const: nmi 105db712c00SLad Prabhakar - const: irq0 106db712c00SLad Prabhakar - const: irq1 107db712c00SLad Prabhakar - const: irq2 108db712c00SLad Prabhakar - const: irq3 109db712c00SLad Prabhakar - const: irq4 110db712c00SLad Prabhakar - const: irq5 111db712c00SLad Prabhakar - const: irq6 112db712c00SLad Prabhakar - const: irq7 113db712c00SLad Prabhakar - const: tint0 114db712c00SLad Prabhakar - const: tint1 115db712c00SLad Prabhakar - const: tint2 116db712c00SLad Prabhakar - const: tint3 117db712c00SLad Prabhakar - const: tint4 118db712c00SLad Prabhakar - const: tint5 119db712c00SLad Prabhakar - const: tint6 120db712c00SLad Prabhakar - const: tint7 121db712c00SLad Prabhakar - const: tint8 122db712c00SLad Prabhakar - const: tint9 123db712c00SLad Prabhakar - const: tint10 124db712c00SLad Prabhakar - const: tint11 125db712c00SLad Prabhakar - const: tint12 126db712c00SLad Prabhakar - const: tint13 127db712c00SLad Prabhakar - const: tint14 128db712c00SLad Prabhakar - const: tint15 129db712c00SLad Prabhakar - const: tint16 130db712c00SLad Prabhakar - const: tint17 131db712c00SLad Prabhakar - const: tint18 132db712c00SLad Prabhakar - const: tint19 133db712c00SLad Prabhakar - const: tint20 134db712c00SLad Prabhakar - const: tint21 135db712c00SLad Prabhakar - const: tint22 136db712c00SLad Prabhakar - const: tint23 137db712c00SLad Prabhakar - const: tint24 138db712c00SLad Prabhakar - const: tint25 139db712c00SLad Prabhakar - const: tint26 140db712c00SLad Prabhakar - const: tint27 141db712c00SLad Prabhakar - const: tint28 142db712c00SLad Prabhakar - const: tint29 143db712c00SLad Prabhakar - const: tint30 144db712c00SLad Prabhakar - const: tint31 145db712c00SLad Prabhakar - const: bus-err 146392703b6SLad Prabhakar - const: ec7tie1-0 147392703b6SLad Prabhakar - const: ec7tie2-0 148392703b6SLad Prabhakar - const: ec7tiovf-0 149392703b6SLad Prabhakar - const: ec7tie1-1 150392703b6SLad Prabhakar - const: ec7tie2-1 151392703b6SLad Prabhakar - const: ec7tiovf-1 15296fed779SLad Prabhakar 15396fed779SLad Prabhakar clocks: 15496fed779SLad Prabhakar maxItems: 2 15596fed779SLad Prabhakar 15696fed779SLad Prabhakar clock-names: 15796fed779SLad Prabhakar items: 15896fed779SLad Prabhakar - const: clk 15996fed779SLad Prabhakar - const: pclk 16096fed779SLad Prabhakar 16196fed779SLad Prabhakar power-domains: 16296fed779SLad Prabhakar maxItems: 1 16396fed779SLad Prabhakar 16496fed779SLad Prabhakar resets: 16596fed779SLad Prabhakar maxItems: 1 16696fed779SLad Prabhakar 16796fed779SLad Prabhakarrequired: 16896fed779SLad Prabhakar - compatible 16996fed779SLad Prabhakar - '#interrupt-cells' 17096fed779SLad Prabhakar - '#address-cells' 17196fed779SLad Prabhakar - interrupt-controller 17296fed779SLad Prabhakar - reg 17396fed779SLad Prabhakar - interrupts 174392703b6SLad Prabhakar - interrupt-names 17596fed779SLad Prabhakar - clocks 17696fed779SLad Prabhakar - clock-names 17796fed779SLad Prabhakar - power-domains 17896fed779SLad Prabhakar - resets 17996fed779SLad Prabhakar 180db712c00SLad PrabhakarallOf: 181db712c00SLad Prabhakar - $ref: /schemas/interrupt-controller.yaml# 182db712c00SLad Prabhakar 183db712c00SLad Prabhakar - if: 184db712c00SLad Prabhakar properties: 185db712c00SLad Prabhakar compatible: 186db712c00SLad Prabhakar contains: 1871cf0697aSClaudiu Beznea enum: 1881cf0697aSClaudiu Beznea - renesas,r9a08g045-irqc 189db712c00SLad Prabhakar then: 190db712c00SLad Prabhakar properties: 191db712c00SLad Prabhakar interrupts: 192392703b6SLad Prabhakar maxItems: 45 193db712c00SLad Prabhakar interrupt-names: 194392703b6SLad Prabhakar maxItems: 45 195392703b6SLad Prabhakar else: 196392703b6SLad Prabhakar properties: 197392703b6SLad Prabhakar interrupts: 198392703b6SLad Prabhakar minItems: 48 199392703b6SLad Prabhakar interrupt-names: 200392703b6SLad Prabhakar minItems: 48 201db712c00SLad Prabhakar 20296fed779SLad PrabhakarunevaluatedProperties: false 20396fed779SLad Prabhakar 20496fed779SLad Prabhakarexamples: 20596fed779SLad Prabhakar - | 20696fed779SLad Prabhakar #include <dt-bindings/interrupt-controller/arm-gic.h> 20796fed779SLad Prabhakar #include <dt-bindings/clock/r9a07g044-cpg.h> 20896fed779SLad Prabhakar 20996fed779SLad Prabhakar irqc: interrupt-controller@110a0000 { 21096fed779SLad Prabhakar compatible = "renesas,r9a07g044-irqc", "renesas,rzg2l-irqc"; 21196fed779SLad Prabhakar reg = <0x110a0000 0x10000>; 21296fed779SLad Prabhakar #interrupt-cells = <2>; 21396fed779SLad Prabhakar #address-cells = <0>; 21496fed779SLad Prabhakar interrupt-controller; 21596fed779SLad Prabhakar interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 21696fed779SLad Prabhakar <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 21796fed779SLad Prabhakar <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 21896fed779SLad Prabhakar <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 21996fed779SLad Prabhakar <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 22096fed779SLad Prabhakar <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 22196fed779SLad Prabhakar <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 22296fed779SLad Prabhakar <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 22396fed779SLad Prabhakar <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 22496fed779SLad Prabhakar <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>, 22596fed779SLad Prabhakar <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>, 22696fed779SLad Prabhakar <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>, 22796fed779SLad Prabhakar <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>, 22896fed779SLad Prabhakar <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>, 22996fed779SLad Prabhakar <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>, 23096fed779SLad Prabhakar <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, 23196fed779SLad Prabhakar <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>, 23296fed779SLad Prabhakar <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>, 23396fed779SLad Prabhakar <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>, 23496fed779SLad Prabhakar <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>, 23596fed779SLad Prabhakar <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>, 23696fed779SLad Prabhakar <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>, 23796fed779SLad Prabhakar <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, 23896fed779SLad Prabhakar <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>, 23996fed779SLad Prabhakar <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>, 24096fed779SLad Prabhakar <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>, 24196fed779SLad Prabhakar <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>, 24296fed779SLad Prabhakar <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>, 24396fed779SLad Prabhakar <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>, 24496fed779SLad Prabhakar <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>, 24596fed779SLad Prabhakar <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>, 24696fed779SLad Prabhakar <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>, 24796fed779SLad Prabhakar <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>, 24896fed779SLad Prabhakar <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>, 24996fed779SLad Prabhakar <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>, 25096fed779SLad Prabhakar <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>, 25196fed779SLad Prabhakar <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>, 25296fed779SLad Prabhakar <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>, 25396fed779SLad Prabhakar <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>, 25496fed779SLad Prabhakar <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>, 255392703b6SLad Prabhakar <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>, 256392703b6SLad Prabhakar <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>, 257392703b6SLad Prabhakar <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>, 258392703b6SLad Prabhakar <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>, 259392703b6SLad Prabhakar <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>, 260392703b6SLad Prabhakar <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>, 261392703b6SLad Prabhakar <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>, 262392703b6SLad Prabhakar <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>; 263db712c00SLad Prabhakar interrupt-names = "nmi", 264db712c00SLad Prabhakar "irq0", "irq1", "irq2", "irq3", 265db712c00SLad Prabhakar "irq4", "irq5", "irq6", "irq7", 266db712c00SLad Prabhakar "tint0", "tint1", "tint2", "tint3", 267db712c00SLad Prabhakar "tint4", "tint5", "tint6", "tint7", 268db712c00SLad Prabhakar "tint8", "tint9", "tint10", "tint11", 269db712c00SLad Prabhakar "tint12", "tint13", "tint14", "tint15", 270db712c00SLad Prabhakar "tint16", "tint17", "tint18", "tint19", 271db712c00SLad Prabhakar "tint20", "tint21", "tint22", "tint23", 272db712c00SLad Prabhakar "tint24", "tint25", "tint26", "tint27", 273392703b6SLad Prabhakar "tint28", "tint29", "tint30", "tint31", 274392703b6SLad Prabhakar "bus-err", "ec7tie1-0", "ec7tie2-0", 275392703b6SLad Prabhakar "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1", 276392703b6SLad Prabhakar "ec7tiovf-1"; 27796fed779SLad Prabhakar clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>, 27896fed779SLad Prabhakar <&cpg CPG_MOD R9A07G044_IA55_PCLK>; 27996fed779SLad Prabhakar clock-names = "clk", "pclk"; 28096fed779SLad Prabhakar power-domains = <&cpg>; 28196fed779SLad Prabhakar resets = <&cpg R9A07G044_IA55_RESETN>; 28296fed779SLad Prabhakar }; 283