diff options
| -rw-r--r-- | Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt | 34 |
1 files changed, 32 insertions, 2 deletions
diff --git a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt index 007a5b46256a..4c29cdab0ea5 100644 --- a/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt +++ b/Documentation/devicetree/bindings/interrupt-controller/arm,gic-v3.txt | |||
| @@ -11,6 +11,8 @@ Main node required properties: | |||
| 11 | - interrupt-controller : Identifies the node as an interrupt controller | 11 | - interrupt-controller : Identifies the node as an interrupt controller |
| 12 | - #interrupt-cells : Specifies the number of cells needed to encode an | 12 | - #interrupt-cells : Specifies the number of cells needed to encode an |
| 13 | interrupt source. Must be a single cell with a value of at least 3. | 13 | 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. | ||
| 14 | 16 | ||
| 15 | The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI | 17 | The 1st cell is the interrupt type; 0 for SPI interrupts, 1 for PPI |
| 16 | interrupts. Other values are reserved for future use. | 18 | interrupts. Other values are reserved for future use. |
| @@ -24,7 +26,14 @@ Main node required properties: | |||
| 24 | 1 = edge triggered | 26 | 1 = edge triggered |
| 25 | 4 = level triggered | 27 | 4 = level triggered |
| 26 | 28 | ||
| 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 | ||
| 28 | of 0 if present. | 37 | of 0 if present. |
| 29 | 38 | ||
| 30 | - reg : Specifies base physical address(s) and size of the GIC | 39 | - reg : Specifies base physical address(s) and size of the GIC |
| @@ -50,6 +59,11 @@ Optional | |||
| 50 | 59 | ||
| 51 | Sub-nodes: | 60 | Sub-nodes: |
| 52 | 61 | ||
| 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 | |||
| 53 | GICv3 has one or more Interrupt Translation Services (ITS) that are | 67 | GICv3 has one or more Interrupt Translation Services (ITS) that are |
| 54 | used to route Message Signalled Interrupts (MSI) to the CPUs. | 68 | used to route Message Signalled Interrupts (MSI) to the CPUs. |
| 55 | 69 | ||
| @@ -91,7 +105,7 @@ Examples: | |||
| 91 | 105 | ||
| 92 | gic: interrupt-controller@2c010000 { | 106 | gic: interrupt-controller@2c010000 { |
| 93 | compatible = "arm,gic-v3"; | 107 | compatible = "arm,gic-v3"; |
| 94 | #interrupt-cells = <3>; | 108 | #interrupt-cells = <4>; |
| 95 | #address-cells = <2>; | 109 | #address-cells = <2>; |
| 96 | #size-cells = <2>; | 110 | #size-cells = <2>; |
| 97 | ranges; | 111 | ranges; |
| @@ -119,4 +133,20 @@ Examples: | |||
| 119 | #msi-cells = <1>; | 133 | #msi-cells = <1>; |
| 120 | reg = <0x0 0x2c400000 0 0x200000>; | 134 | reg = <0x0 0x2c400000 0 0x200000>; |
| 121 | }; | 135 | }; |
| 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>; | ||
| 122 | }; | 152 | }; |
