1#
2# Copyright 2025 Arm Limited and/or its affiliates <open-source-office@arm.com>
3#
4# SPDX-License-Identifier: Apache-2.0
5#
6
7description: |
8  ARM Generic Interrupt Controller v3
9
10  Examples for GICv3 devicetree nodes:
11
12    gic: interrupt-controller@2cf00000 {
13      compatible = "arm,gic-v3", "arm,gic";
14      reg = <0x2f000000 0x10000>,  /* GICD */
15            <0x2f100000 0x200000>;  /* GICR */
16      interrupt-controller;
17      #interrupt-cells = <3>;
18      status = "okay";
19    };
20
21    gic: interrupt-controller@2c010000 {
22      compatible = "arm,gic-v3", "arm,gic";
23      redistributor-stride = <0x40000>;  /* 256kB stride */
24      redistributor-regions = <2>;
25      reg = <0x2c010000 0x10000>,  /* GICD */
26            <0x2d000000 0x800000>,  /* GICR 1: CPUs 0-31 */
27            <0x2e000000 0x800000>;  /* GICR 2: CPUs 32-63 */
28      interrupt-controller;
29      #interrupt-cells = <4>;
30      status = "okay";
31    };
32
33compatible: arm,gic-v3
34
35include: arm,gic.yaml
36
37properties:
38  redistributor-stride:
39    type: int
40    description:
41      If using padding pages, specifies the stride of consecutive
42      redistributors which is the distance between consecutive redistributors in
43      memory. Must be a multiple of 64kB. Required if the distance between
44      redistributors is not the default 128kB.
45
46  redistributor-regions:
47    type: int
48    description:
49      The number of independent contiguous regions occupied by the redistributors.
50      The term "regions" refers to distinct memory segments or areas allocated
51      for redistributors within the system memory. The number of redistributor
52      regions and their sizes are hardware-specific. Required if more than one
53      such region is present.
54