diff options
author | Kevin Hilman <khilman@linaro.org> | 2013-10-14 16:24:51 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@linaro.org> | 2013-10-14 16:25:14 -0400 |
commit | e85923acb94b518c3b7bfad407cf93ee964ba27f (patch) | |
tree | abb54b24befe61783aa95de0a92bce16db29a5a5 /Documentation/devicetree/bindings/arm | |
parent | 0397bb85b53b73796e81aaa3f4114403a2b1236d (diff) | |
parent | fee4f2c66a3b0f0e97e16b3084e8c4151ae9196f (diff) |
Merge tag 'arm-perf-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux into next/drivers
From Will Deacon:
Addition of an ARM PMU driver for the CCI-400 coherent interconnect
found on big.LITTLE systems, such as TC2.
This was originally sent for 3.12, but the device-tree bindings hadn't
settled down so here's the improved version for 3.13. I think the code
has benefited from the wait.
* tag 'arm-perf-3.13' of git://git.kernel.org/pub/scm/linux/kernel/git/will/linux:
drivers: CCI: fix the error handle in cci_pmu_probe()
drivers: CCI: add ARM CCI PMU support
ARM: dts: Document the CCI PMU DT bindings
ARM: dts: Improve CCI bindings documentation
Signed-off-by: Kevin Hilman <khilman@linaro.org>
Diffstat (limited to 'Documentation/devicetree/bindings/arm')
-rw-r--r-- | Documentation/devicetree/bindings/arm/cci.txt | 60 |
1 files changed, 56 insertions, 4 deletions
diff --git a/Documentation/devicetree/bindings/arm/cci.txt b/Documentation/devicetree/bindings/arm/cci.txt index 92d36e2aa877..f28d82bbbc56 100644 --- a/Documentation/devicetree/bindings/arm/cci.txt +++ b/Documentation/devicetree/bindings/arm/cci.txt | |||
@@ -36,14 +36,18 @@ specific to ARM. | |||
36 | 36 | ||
37 | - reg | 37 | - reg |
38 | Usage: required | 38 | Usage: required |
39 | Value type: <prop-encoded-array> | 39 | Value type: Integer cells. A register entry, expressed as a pair |
40 | of cells, containing base and size. | ||
40 | Definition: A standard property. Specifies base physical | 41 | Definition: A standard property. Specifies base physical |
41 | address of CCI control registers common to all | 42 | address of CCI control registers common to all |
42 | interfaces. | 43 | interfaces. |
43 | 44 | ||
44 | - ranges: | 45 | - ranges: |
45 | Usage: required | 46 | Usage: required |
46 | Value type: <prop-encoded-array> | 47 | Value type: Integer cells. An array of range entries, expressed |
48 | as a tuple of cells, containing child address, | ||
49 | parent address and the size of the region in the | ||
50 | child address space. | ||
47 | Definition: A standard property. Follow rules in the ePAPR for | 51 | Definition: A standard property. Follow rules in the ePAPR for |
48 | hierarchical bus addressing. CCI interfaces | 52 | hierarchical bus addressing. CCI interfaces |
49 | addresses refer to the parent node addressing | 53 | addresses refer to the parent node addressing |
@@ -74,11 +78,49 @@ specific to ARM. | |||
74 | 78 | ||
75 | - reg: | 79 | - reg: |
76 | Usage: required | 80 | Usage: required |
77 | Value type: <prop-encoded-array> | 81 | Value type: Integer cells. A register entry, expressed |
82 | as a pair of cells, containing base and | ||
83 | size. | ||
78 | Definition: the base address and size of the | 84 | Definition: the base address and size of the |
79 | corresponding interface programming | 85 | corresponding interface programming |
80 | registers. | 86 | registers. |
81 | 87 | ||
88 | - CCI PMU node | ||
89 | |||
90 | Parent node must be CCI interconnect node. | ||
91 | |||
92 | A CCI pmu node must contain the following properties: | ||
93 | |||
94 | - compatible | ||
95 | Usage: required | ||
96 | Value type: <string> | ||
97 | Definition: must be "arm,cci-400-pmu" | ||
98 | |||
99 | - reg: | ||
100 | Usage: required | ||
101 | Value type: Integer cells. A register entry, expressed | ||
102 | as a pair of cells, containing base and | ||
103 | size. | ||
104 | Definition: the base address and size of the | ||
105 | corresponding interface programming | ||
106 | registers. | ||
107 | |||
108 | - interrupts: | ||
109 | Usage: required | ||
110 | Value type: Integer cells. Array of interrupt specifier | ||
111 | entries, as defined in | ||
112 | ../interrupt-controller/interrupts.txt. | ||
113 | Definition: list of counter overflow interrupts, one per | ||
114 | counter. The interrupts must be specified | ||
115 | starting with the cycle counter overflow | ||
116 | interrupt, followed by counter0 overflow | ||
117 | interrupt, counter1 overflow interrupt,... | ||
118 | ,counterN overflow interrupt. | ||
119 | |||
120 | The CCI PMU has an interrupt signal for each | ||
121 | counter. The number of interrupts must be | ||
122 | equal to the number of counters. | ||
123 | |||
82 | * CCI interconnect bus masters | 124 | * CCI interconnect bus masters |
83 | 125 | ||
84 | Description: masters in the device tree connected to a CCI port | 126 | Description: masters in the device tree connected to a CCI port |
@@ -144,7 +186,7 @@ Example: | |||
144 | #address-cells = <1>; | 186 | #address-cells = <1>; |
145 | #size-cells = <1>; | 187 | #size-cells = <1>; |
146 | reg = <0x0 0x2c090000 0 0x1000>; | 188 | reg = <0x0 0x2c090000 0 0x1000>; |
147 | ranges = <0x0 0x0 0x2c090000 0x6000>; | 189 | ranges = <0x0 0x0 0x2c090000 0x10000>; |
148 | 190 | ||
149 | cci_control0: slave-if@1000 { | 191 | cci_control0: slave-if@1000 { |
150 | compatible = "arm,cci-400-ctrl-if"; | 192 | compatible = "arm,cci-400-ctrl-if"; |
@@ -163,6 +205,16 @@ Example: | |||
163 | interface-type = "ace"; | 205 | interface-type = "ace"; |
164 | reg = <0x5000 0x1000>; | 206 | reg = <0x5000 0x1000>; |
165 | }; | 207 | }; |
208 | |||
209 | pmu@9000 { | ||
210 | compatible = "arm,cci-400-pmu"; | ||
211 | reg = <0x9000 0x5000>; | ||
212 | interrupts = <0 101 4>, | ||
213 | <0 102 4>, | ||
214 | <0 103 4>, | ||
215 | <0 104 4>, | ||
216 | <0 105 4>; | ||
217 | }; | ||
166 | }; | 218 | }; |
167 | 219 | ||
168 | This CCI node corresponds to a CCI component whose control registers sits | 220 | This CCI node corresponds to a CCI component whose control registers sits |