1b97ee269SEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b97ee269SEmmanuel Vadot%YAML 1.2 3b97ee269SEmmanuel Vadot--- 4b97ee269SEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/renesas,rzg2l-irqc.yaml# 5b97ee269SEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6b97ee269SEmmanuel Vadot 7b97ee269SEmmanuel Vadottitle: Renesas RZ/G2L (and alike SoC's) Interrupt Controller (IA55) 8b97ee269SEmmanuel Vadot 9b97ee269SEmmanuel Vadotmaintainers: 10b97ee269SEmmanuel Vadot - Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> 11b97ee269SEmmanuel Vadot - Geert Uytterhoeven <geert+renesas@glider.be> 12b97ee269SEmmanuel Vadot 13b97ee269SEmmanuel Vadotdescription: | 14b97ee269SEmmanuel Vadot IA55 performs various interrupt controls including synchronization for the external 15b97ee269SEmmanuel Vadot interrupts of NMI, IRQ, and GPIOINT and the interrupts of the built-in peripheral 16b97ee269SEmmanuel Vadot interrupts output by each IP. And it notifies the interrupt to the GIC 17b97ee269SEmmanuel Vadot - IRQ sense select for 8 external interrupts, mapped to 8 GIC SPI interrupts 18b97ee269SEmmanuel Vadot - GPIO pins used as external interrupt input pins, mapped to 32 GIC SPI interrupts 19b97ee269SEmmanuel Vadot - NMI edge select (NMI is not treated as NMI exception and supports fall edge and 20b97ee269SEmmanuel Vadot stand-up edge detection interrupts) 21b97ee269SEmmanuel Vadot 22b97ee269SEmmanuel Vadotproperties: 23b97ee269SEmmanuel Vadot compatible: 24b97ee269SEmmanuel Vadot items: 25b97ee269SEmmanuel Vadot - enum: 26aa1a8ff2SEmmanuel Vadot - renesas,r9a07g043u-irqc # RZ/G2UL 27b97ee269SEmmanuel Vadot - renesas,r9a07g044-irqc # RZ/G2{L,LC} 28b97ee269SEmmanuel Vadot - renesas,r9a07g054-irqc # RZ/V2L 29*8d13bc63SEmmanuel Vadot - renesas,r9a08g045-irqc # RZ/G3S 30b97ee269SEmmanuel Vadot - const: renesas,rzg2l-irqc 31b97ee269SEmmanuel Vadot 32b97ee269SEmmanuel Vadot '#interrupt-cells': 33aa1a8ff2SEmmanuel Vadot description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the 34aa1a8ff2SEmmanuel Vadot include/dt-bindings/interrupt-controller/irqc-rzg2l.h and the second 35aa1a8ff2SEmmanuel Vadot cell is used to specify the flag. 36b97ee269SEmmanuel Vadot const: 2 37b97ee269SEmmanuel Vadot 38b97ee269SEmmanuel Vadot '#address-cells': 39b97ee269SEmmanuel Vadot const: 0 40b97ee269SEmmanuel Vadot 41b97ee269SEmmanuel Vadot interrupt-controller: true 42b97ee269SEmmanuel Vadot 43b97ee269SEmmanuel Vadot reg: 44b97ee269SEmmanuel Vadot maxItems: 1 45b97ee269SEmmanuel Vadot 46b97ee269SEmmanuel Vadot interrupts: 47aa1a8ff2SEmmanuel Vadot minItems: 41 48aa1a8ff2SEmmanuel Vadot items: 49aa1a8ff2SEmmanuel Vadot - description: NMI interrupt 50aa1a8ff2SEmmanuel Vadot - description: IRQ0 interrupt 51aa1a8ff2SEmmanuel Vadot - description: IRQ1 interrupt 52aa1a8ff2SEmmanuel Vadot - description: IRQ2 interrupt 53aa1a8ff2SEmmanuel Vadot - description: IRQ3 interrupt 54aa1a8ff2SEmmanuel Vadot - description: IRQ4 interrupt 55aa1a8ff2SEmmanuel Vadot - description: IRQ5 interrupt 56aa1a8ff2SEmmanuel Vadot - description: IRQ6 interrupt 57aa1a8ff2SEmmanuel Vadot - description: IRQ7 interrupt 58aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT0 59aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT1 60aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT2 61aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT3 62aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT4 63aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT5 64aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT6 65aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT7 66aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT8 67aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT9 68aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT10 69aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT11 70aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT12 71aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT13 72aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT14 73aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT15 74aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT16 75aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT17 76aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT18 77aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT19 78aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT20 79aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT21 80aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT22 81aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT23 82aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT24 83aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT25 84aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT26 85aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT27 86aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT28 87aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT29 88aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT30 89aa1a8ff2SEmmanuel Vadot - description: GPIO interrupt, TINT31 90aa1a8ff2SEmmanuel Vadot - description: Bus error interrupt 91aa1a8ff2SEmmanuel Vadot 92aa1a8ff2SEmmanuel Vadot interrupt-names: 93aa1a8ff2SEmmanuel Vadot minItems: 41 94aa1a8ff2SEmmanuel Vadot items: 95aa1a8ff2SEmmanuel Vadot - const: nmi 96aa1a8ff2SEmmanuel Vadot - const: irq0 97aa1a8ff2SEmmanuel Vadot - const: irq1 98aa1a8ff2SEmmanuel Vadot - const: irq2 99aa1a8ff2SEmmanuel Vadot - const: irq3 100aa1a8ff2SEmmanuel Vadot - const: irq4 101aa1a8ff2SEmmanuel Vadot - const: irq5 102aa1a8ff2SEmmanuel Vadot - const: irq6 103aa1a8ff2SEmmanuel Vadot - const: irq7 104aa1a8ff2SEmmanuel Vadot - const: tint0 105aa1a8ff2SEmmanuel Vadot - const: tint1 106aa1a8ff2SEmmanuel Vadot - const: tint2 107aa1a8ff2SEmmanuel Vadot - const: tint3 108aa1a8ff2SEmmanuel Vadot - const: tint4 109aa1a8ff2SEmmanuel Vadot - const: tint5 110aa1a8ff2SEmmanuel Vadot - const: tint6 111aa1a8ff2SEmmanuel Vadot - const: tint7 112aa1a8ff2SEmmanuel Vadot - const: tint8 113aa1a8ff2SEmmanuel Vadot - const: tint9 114aa1a8ff2SEmmanuel Vadot - const: tint10 115aa1a8ff2SEmmanuel Vadot - const: tint11 116aa1a8ff2SEmmanuel Vadot - const: tint12 117aa1a8ff2SEmmanuel Vadot - const: tint13 118aa1a8ff2SEmmanuel Vadot - const: tint14 119aa1a8ff2SEmmanuel Vadot - const: tint15 120aa1a8ff2SEmmanuel Vadot - const: tint16 121aa1a8ff2SEmmanuel Vadot - const: tint17 122aa1a8ff2SEmmanuel Vadot - const: tint18 123aa1a8ff2SEmmanuel Vadot - const: tint19 124aa1a8ff2SEmmanuel Vadot - const: tint20 125aa1a8ff2SEmmanuel Vadot - const: tint21 126aa1a8ff2SEmmanuel Vadot - const: tint22 127aa1a8ff2SEmmanuel Vadot - const: tint23 128aa1a8ff2SEmmanuel Vadot - const: tint24 129aa1a8ff2SEmmanuel Vadot - const: tint25 130aa1a8ff2SEmmanuel Vadot - const: tint26 131aa1a8ff2SEmmanuel Vadot - const: tint27 132aa1a8ff2SEmmanuel Vadot - const: tint28 133aa1a8ff2SEmmanuel Vadot - const: tint29 134aa1a8ff2SEmmanuel Vadot - const: tint30 135aa1a8ff2SEmmanuel Vadot - const: tint31 136aa1a8ff2SEmmanuel Vadot - const: bus-err 137b97ee269SEmmanuel Vadot 138b97ee269SEmmanuel Vadot clocks: 139b97ee269SEmmanuel Vadot maxItems: 2 140b97ee269SEmmanuel Vadot 141b97ee269SEmmanuel Vadot clock-names: 142b97ee269SEmmanuel Vadot items: 143b97ee269SEmmanuel Vadot - const: clk 144b97ee269SEmmanuel Vadot - const: pclk 145b97ee269SEmmanuel Vadot 146b97ee269SEmmanuel Vadot power-domains: 147b97ee269SEmmanuel Vadot maxItems: 1 148b97ee269SEmmanuel Vadot 149b97ee269SEmmanuel Vadot resets: 150b97ee269SEmmanuel Vadot maxItems: 1 151b97ee269SEmmanuel Vadot 152b97ee269SEmmanuel Vadotrequired: 153b97ee269SEmmanuel Vadot - compatible 154b97ee269SEmmanuel Vadot - '#interrupt-cells' 155b97ee269SEmmanuel Vadot - '#address-cells' 156b97ee269SEmmanuel Vadot - interrupt-controller 157b97ee269SEmmanuel Vadot - reg 158b97ee269SEmmanuel Vadot - interrupts 159b97ee269SEmmanuel Vadot - clocks 160b97ee269SEmmanuel Vadot - clock-names 161b97ee269SEmmanuel Vadot - power-domains 162b97ee269SEmmanuel Vadot - resets 163b97ee269SEmmanuel Vadot 164aa1a8ff2SEmmanuel VadotallOf: 165aa1a8ff2SEmmanuel Vadot - $ref: /schemas/interrupt-controller.yaml# 166aa1a8ff2SEmmanuel Vadot 167aa1a8ff2SEmmanuel Vadot - if: 168aa1a8ff2SEmmanuel Vadot properties: 169aa1a8ff2SEmmanuel Vadot compatible: 170aa1a8ff2SEmmanuel Vadot contains: 171*8d13bc63SEmmanuel Vadot enum: 172*8d13bc63SEmmanuel Vadot - renesas,r9a07g043u-irqc 173*8d13bc63SEmmanuel Vadot - renesas,r9a08g045-irqc 174aa1a8ff2SEmmanuel Vadot then: 175aa1a8ff2SEmmanuel Vadot properties: 176aa1a8ff2SEmmanuel Vadot interrupts: 177aa1a8ff2SEmmanuel Vadot minItems: 42 178aa1a8ff2SEmmanuel Vadot interrupt-names: 179aa1a8ff2SEmmanuel Vadot minItems: 42 180aa1a8ff2SEmmanuel Vadot required: 181aa1a8ff2SEmmanuel Vadot - interrupt-names 182aa1a8ff2SEmmanuel Vadot 183b97ee269SEmmanuel VadotunevaluatedProperties: false 184b97ee269SEmmanuel Vadot 185b97ee269SEmmanuel Vadotexamples: 186b97ee269SEmmanuel Vadot - | 187b97ee269SEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 188b97ee269SEmmanuel Vadot #include <dt-bindings/clock/r9a07g044-cpg.h> 189b97ee269SEmmanuel Vadot 190b97ee269SEmmanuel Vadot irqc: interrupt-controller@110a0000 { 191b97ee269SEmmanuel Vadot compatible = "renesas,r9a07g044-irqc", "renesas,rzg2l-irqc"; 192b97ee269SEmmanuel Vadot reg = <0x110a0000 0x10000>; 193b97ee269SEmmanuel Vadot #interrupt-cells = <2>; 194b97ee269SEmmanuel Vadot #address-cells = <0>; 195b97ee269SEmmanuel Vadot interrupt-controller; 196b97ee269SEmmanuel Vadot interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>, 197b97ee269SEmmanuel Vadot <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>, 198b97ee269SEmmanuel Vadot <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>, 199b97ee269SEmmanuel Vadot <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>, 200b97ee269SEmmanuel Vadot <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>, 201b97ee269SEmmanuel Vadot <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>, 202b97ee269SEmmanuel Vadot <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 203b97ee269SEmmanuel Vadot <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>, 204b97ee269SEmmanuel Vadot <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>, 205b97ee269SEmmanuel Vadot <GIC_SPI 444 IRQ_TYPE_LEVEL_HIGH>, 206b97ee269SEmmanuel Vadot <GIC_SPI 445 IRQ_TYPE_LEVEL_HIGH>, 207b97ee269SEmmanuel Vadot <GIC_SPI 446 IRQ_TYPE_LEVEL_HIGH>, 208b97ee269SEmmanuel Vadot <GIC_SPI 447 IRQ_TYPE_LEVEL_HIGH>, 209b97ee269SEmmanuel Vadot <GIC_SPI 448 IRQ_TYPE_LEVEL_HIGH>, 210b97ee269SEmmanuel Vadot <GIC_SPI 449 IRQ_TYPE_LEVEL_HIGH>, 211b97ee269SEmmanuel Vadot <GIC_SPI 450 IRQ_TYPE_LEVEL_HIGH>, 212b97ee269SEmmanuel Vadot <GIC_SPI 451 IRQ_TYPE_LEVEL_HIGH>, 213b97ee269SEmmanuel Vadot <GIC_SPI 452 IRQ_TYPE_LEVEL_HIGH>, 214b97ee269SEmmanuel Vadot <GIC_SPI 453 IRQ_TYPE_LEVEL_HIGH>, 215b97ee269SEmmanuel Vadot <GIC_SPI 454 IRQ_TYPE_LEVEL_HIGH>, 216b97ee269SEmmanuel Vadot <GIC_SPI 455 IRQ_TYPE_LEVEL_HIGH>, 217b97ee269SEmmanuel Vadot <GIC_SPI 456 IRQ_TYPE_LEVEL_HIGH>, 218b97ee269SEmmanuel Vadot <GIC_SPI 457 IRQ_TYPE_LEVEL_HIGH>, 219b97ee269SEmmanuel Vadot <GIC_SPI 458 IRQ_TYPE_LEVEL_HIGH>, 220b97ee269SEmmanuel Vadot <GIC_SPI 459 IRQ_TYPE_LEVEL_HIGH>, 221b97ee269SEmmanuel Vadot <GIC_SPI 460 IRQ_TYPE_LEVEL_HIGH>, 222b97ee269SEmmanuel Vadot <GIC_SPI 461 IRQ_TYPE_LEVEL_HIGH>, 223b97ee269SEmmanuel Vadot <GIC_SPI 462 IRQ_TYPE_LEVEL_HIGH>, 224b97ee269SEmmanuel Vadot <GIC_SPI 463 IRQ_TYPE_LEVEL_HIGH>, 225b97ee269SEmmanuel Vadot <GIC_SPI 464 IRQ_TYPE_LEVEL_HIGH>, 226b97ee269SEmmanuel Vadot <GIC_SPI 465 IRQ_TYPE_LEVEL_HIGH>, 227b97ee269SEmmanuel Vadot <GIC_SPI 466 IRQ_TYPE_LEVEL_HIGH>, 228b97ee269SEmmanuel Vadot <GIC_SPI 467 IRQ_TYPE_LEVEL_HIGH>, 229b97ee269SEmmanuel Vadot <GIC_SPI 468 IRQ_TYPE_LEVEL_HIGH>, 230b97ee269SEmmanuel Vadot <GIC_SPI 469 IRQ_TYPE_LEVEL_HIGH>, 231b97ee269SEmmanuel Vadot <GIC_SPI 470 IRQ_TYPE_LEVEL_HIGH>, 232b97ee269SEmmanuel Vadot <GIC_SPI 471 IRQ_TYPE_LEVEL_HIGH>, 233b97ee269SEmmanuel Vadot <GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>, 234b97ee269SEmmanuel Vadot <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>, 235b97ee269SEmmanuel Vadot <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>, 236b97ee269SEmmanuel Vadot <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>; 237aa1a8ff2SEmmanuel Vadot interrupt-names = "nmi", 238aa1a8ff2SEmmanuel Vadot "irq0", "irq1", "irq2", "irq3", 239aa1a8ff2SEmmanuel Vadot "irq4", "irq5", "irq6", "irq7", 240aa1a8ff2SEmmanuel Vadot "tint0", "tint1", "tint2", "tint3", 241aa1a8ff2SEmmanuel Vadot "tint4", "tint5", "tint6", "tint7", 242aa1a8ff2SEmmanuel Vadot "tint8", "tint9", "tint10", "tint11", 243aa1a8ff2SEmmanuel Vadot "tint12", "tint13", "tint14", "tint15", 244aa1a8ff2SEmmanuel Vadot "tint16", "tint17", "tint18", "tint19", 245aa1a8ff2SEmmanuel Vadot "tint20", "tint21", "tint22", "tint23", 246aa1a8ff2SEmmanuel Vadot "tint24", "tint25", "tint26", "tint27", 247aa1a8ff2SEmmanuel Vadot "tint28", "tint29", "tint30", "tint31"; 248b97ee269SEmmanuel Vadot clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>, 249b97ee269SEmmanuel Vadot <&cpg CPG_MOD R9A07G044_IA55_PCLK>; 250b97ee269SEmmanuel Vadot clock-names = "clk", "pclk"; 251b97ee269SEmmanuel Vadot power-domains = <&cpg>; 252b97ee269SEmmanuel Vadot resets = <&cpg R9A07G044_IA55_RESETN>; 253b97ee269SEmmanuel Vadot }; 254