aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/devicetree/bindings/arm
diff options
context:
space:
mode:
authorKevin Hilman <khilman@linaro.org>2013-10-14 16:24:51 -0400
committerKevin Hilman <khilman@linaro.org>2013-10-14 16:25:14 -0400
commite85923acb94b518c3b7bfad407cf93ee964ba27f (patch)
treeabb54b24befe61783aa95de0a92bce16db29a5a5 /Documentation/devicetree/bindings/arm
parent0397bb85b53b73796e81aaa3f4114403a2b1236d (diff)
parentfee4f2c66a3b0f0e97e16b3084e8c4151ae9196f (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.txt60
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
168This CCI node corresponds to a CCI component whose control registers sits 220This CCI node corresponds to a CCI component whose control registers sits