Skip to content

Commit b3a92e2

Browse files
Marc ZyngierJason Cooper
authored andcommitted
irqchip: GICv3: Binding updates for ITS
Add the documentation for the bindings describing the GICv3 ITS. Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Link: https://lkml.kernel.org/r/1416839720-18400-14-git-send-email-marc.zyngier@arm.com Signed-off-by: Jason Cooper <jason@lakedaemon.net>
1 parent 1981272 commit b3a92e2

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

Documentation/devicetree/bindings/arm/gic-v3.txt

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,23 +49,50 @@ Optional
4949
occupied by the redistributors. Required if more than one such
5050
region is present.
5151

52+
Sub-nodes:
53+
54+
GICv3 has one or more Interrupt Translation Services (ITS) that are
55+
used to route Message Signalled Interrupts (MSI) to the CPUs.
56+
57+
These nodes must have the following properties:
58+
- compatible : Should at least contain "arm,gic-v3-its".
59+
- msi-controller : Boolean property. Identifies the node as an MSI controller
60+
- reg: Specifies the base physical address and size of the ITS
61+
registers.
62+
63+
The main GIC node must contain the appropriate #address-cells,
64+
#size-cells and ranges properties for the reg property of all ITS
65+
nodes.
66+
5267
Examples:
5368

5469
gic: interrupt-controller@2cf00000 {
5570
compatible = "arm,gic-v3";
5671
#interrupt-cells = <3>;
72+
#address-cells = <2>;
73+
#size-cells = <2>;
74+
ranges;
5775
interrupt-controller;
5876
reg = <0x0 0x2f000000 0 0x10000>, // GICD
5977
<0x0 0x2f100000 0 0x200000>, // GICR
6078
<0x0 0x2c000000 0 0x2000>, // GICC
6179
<0x0 0x2c010000 0 0x2000>, // GICH
6280
<0x0 0x2c020000 0 0x2000>; // GICV
6381
interrupts = <1 9 4>;
82+
83+
gic-its@2c200000 {
84+
compatible = "arm,gic-v3-its";
85+
msi-controller;
86+
reg = <0x0 0x2c200000 0 0x200000>;
87+
};
6488
};
6589

6690
gic: interrupt-controller@2c010000 {
6791
compatible = "arm,gic-v3";
6892
#interrupt-cells = <3>;
93+
#address-cells = <2>;
94+
#size-cells = <2>;
95+
ranges;
6996
interrupt-controller;
7097
redistributor-stride = <0x0 0x40000>; // 256kB stride
7198
#redistributor-regions = <2>;
@@ -76,4 +103,16 @@ Examples:
76103
<0x0 0x2c060000 0 0x2000>, // GICH
77104
<0x0 0x2c080000 0 0x2000>; // GICV
78105
interrupts = <1 9 4>;
106+
107+
gic-its@2c200000 {
108+
compatible = "arm,gic-v3-its";
109+
msi-controller;
110+
reg = <0x0 0x2c200000 0 0x200000>;
111+
};
112+
113+
gic-its@2c400000 {
114+
compatible = "arm,gic-v3-its";
115+
msi-controller;
116+
reg = <0x0 0x2c400000 0 0x200000>;
117+
};
79118
};

0 commit comments

Comments
 (0)