Skip to content

Commit 287e935

Browse files
Marc ZyngierKAGA-KOKO
authored andcommitted
DT/arm,gic-v3: Documment PPI partition support
Add a decription of the PPI partitioning support. Signed-off-by: Marc Zyngier <[email protected]> Acked-by: Rob Herring <[email protected]> Cc: Mark Rutland <[email protected]> Cc: [email protected] Cc: Jason Cooper <[email protected]> Cc: Will Deacon <[email protected]> Link: http://lkml.kernel.org/r/[email protected] Signed-off-by: Thomas Gleixner <[email protected]>
1 parent e3825ba commit 287e935

File tree

1 file changed

+32
-2
lines changed

1 file changed

+32
-2
lines changed

Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,8 @@ Main node required properties:
1111
- interrupt-controller : Identifies the node as an interrupt controller
1212
- #interrupt-cells : Specifies the number of cells needed to encode an
1313
interrupt source. Must be a single cell with a value of at least 3.
14+
If the system requires describing PPI affinity, then the value must
15+
be at least 4.
1416

1517
The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI
1618
interrupts. Other values are reserved for future use.
@@ -24,7 +26,14 @@ Main node required properties:
2426
1 = edge triggered
2527
4 = level triggered
2628

27-
Cells 4 and beyond are reserved for future use and must have a value
29+
The 4th cell is a phandle to a node describing a set of CPUs this
30+
interrupt is affine to. The interrupt must be a PPI, and the node
31+
pointed must be a subnode of the "ppi-partitions" subnode. For
32+
interrupt types other than PPI or PPIs that are not partitionned,
33+
this cell must be zero. See the "ppi-partitions" node description
34+
below.
35+
36+
Cells 5 and beyond are reserved for future use and must have a value
2837
of 0 if present.
2938

3039
- reg : Specifies base physical address(s) and size of the GIC
@@ -50,6 +59,11 @@ Optional
5059

5160
Sub-nodes:
5261

62+
PPI affinity can be expressed as a single "ppi-partitions" node,
63+
containing a set of sub-nodes, each with the following property:
64+
- affinity: Should be a list of phandles to CPU nodes (as described in
65+
Documentation/devicetree/bindings/arm/cpus.txt).
66+
5367
GICv3 has one or more Interrupt Translation Services (ITS) that are
5468
used to route Message Signalled Interrupts (MSI) to the CPUs.
5569

@@ -91,7 +105,7 @@ Examples:
91105

92106
gic: interrupt-controller@2c010000 {
93107
compatible = "arm,gic-v3";
94-
#interrupt-cells = <3>;
108+
#interrupt-cells = <4>;
95109
#address-cells = <2>;
96110
#size-cells = <2>;
97111
ranges;
@@ -119,4 +133,20 @@ Examples:
119133
#msi-cells = <1>;
120134
reg = <0x0 0x2c400000 0 0x200000>;
121135
};
136+
137+
ppi-partitions {
138+
part0: interrupt-partition-0 {
139+
affinity = <&cpu0 &cpu2>;
140+
};
141+
142+
part1: interrupt-partition-1 {
143+
affinity = <&cpu1 &cpu3>;
144+
};
145+
};
146+
};
147+
148+
149+
device@0 {
150+
reg = <0 0 0 4>;
151+
interrupts = <1 1 4 &part0>;
122152
};

0 commit comments

Comments
 (0)