Skip to content

Commit 96fed77

Browse files
prabhakarladMarc Zyngier
authored andcommitted
dt-bindings: interrupt-controller: Add Renesas RZ/G2L Interrupt Controller
Add DT bindings for the Renesas RZ/G2L Interrupt Controller. Signed-off-by: Lad Prabhakar <[email protected]> Reviewed-by: Rob Herring <[email protected]> Reviewed-by: Geert Uytterhoeven <[email protected]> Signed-off-by: Marc Zyngier <[email protected]> Link: https://lore.kernel.org/r/[email protected]
1 parent 91a29af commit 96fed77

File tree

1 file changed

+133
-0
lines changed

1 file changed

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

0 commit comments

Comments
 (0)