2011-06-22 23:33:55 +09:00
|
|
|
* ARM Performance Monitor Units
|
|
|
|
|
|
|
|
ARM cores often have a PMU for counting cpu and cache events like cache misses
|
|
|
|
and hits. The interface to the PMU is part of the ARM ARM. The ARM PMU
|
|
|
|
representation in the device tree should be done as under:-
|
|
|
|
|
|
|
|
Required properties:
|
|
|
|
|
|
|
|
- compatible : should be one of
|
2015-01-08 09:33:37 +09:00
|
|
|
"apm,potenza-pmu"
|
2013-11-08 11:58:16 +09:00
|
|
|
"arm,armv8-pmuv3"
|
2017-08-10 01:46:38 +09:00
|
|
|
"arm,cortex-a73-pmu"
|
2015-12-22 23:45:35 +09:00
|
|
|
"arm,cortex-a72-pmu"
|
2015-12-15 17:33:20 +09:00
|
|
|
"arm,cortex-a57-pmu"
|
|
|
|
"arm,cortex-a53-pmu"
|
2017-08-10 01:46:39 +09:00
|
|
|
"arm,cortex-a35-pmu"
|
2014-05-10 02:34:19 +09:00
|
|
|
"arm,cortex-a17-pmu"
|
2012-07-29 00:05:55 +09:00
|
|
|
"arm,cortex-a15-pmu"
|
2014-01-29 23:28:57 +09:00
|
|
|
"arm,cortex-a12-pmu"
|
2011-06-22 23:33:55 +09:00
|
|
|
"arm,cortex-a9-pmu"
|
|
|
|
"arm,cortex-a8-pmu"
|
2012-07-29 00:05:55 +09:00
|
|
|
"arm,cortex-a7-pmu"
|
|
|
|
"arm,cortex-a5-pmu"
|
|
|
|
"arm,arm11mpcore-pmu"
|
2011-06-22 23:33:55 +09:00
|
|
|
"arm,arm1176-pmu"
|
|
|
|
"arm,arm1136-pmu"
|
2016-04-21 21:58:39 +09:00
|
|
|
"brcm,vulcan-pmu"
|
|
|
|
"cavium,thunder-pmu"
|
2015-02-28 09:11:35 +09:00
|
|
|
"qcom,scorpion-pmu"
|
|
|
|
"qcom,scorpion-mp-pmu"
|
2014-02-08 06:01:24 +09:00
|
|
|
"qcom,krait-pmu"
|
|
|
|
- interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
|
|
|
|
interrupt (PPI) then 1 interrupt should be specified.
|
|
|
|
|
|
|
|
Optional properties:
|
|
|
|
|
2015-06-29 21:59:01 +09:00
|
|
|
- interrupt-affinity : When using SPIs, specifies a list of phandles to CPU
|
|
|
|
nodes corresponding directly to the affinity of
|
2015-03-06 20:54:08 +09:00
|
|
|
the SPIs listed in the interrupts property.
|
|
|
|
|
2015-06-29 21:59:01 +09:00
|
|
|
When using a PPI, specifies a list of phandles to CPU
|
|
|
|
nodes corresponding to the set of CPUs which have
|
|
|
|
a PMU of this type signalling the PPI listed in the
|
2016-07-08 23:56:04 +09:00
|
|
|
interrupts property, unless this is already specified
|
|
|
|
by the PPI interrupt specifier itself (in which case
|
|
|
|
the interrupt-affinity property shouldn't be present).
|
2015-06-29 21:59:01 +09:00
|
|
|
|
|
|
|
This property should be present when there is more than
|
2015-03-06 20:54:08 +09:00
|
|
|
a single SPI.
|
|
|
|
|
2015-06-29 21:59:01 +09:00
|
|
|
|
2014-02-08 06:01:24 +09:00
|
|
|
- qcom,no-pc-write : Indicates that this PMU doesn't support the 0xc and 0xd
|
|
|
|
events.
|
2011-06-22 23:33:55 +09:00
|
|
|
|
2016-01-14 13:36:26 +09:00
|
|
|
- secure-reg-access : Indicates that the ARMv7 Secure Debug Enable Register
|
|
|
|
(SDER) is accessible. This will cause the driver to do
|
|
|
|
any setup required that is only possible in ARMv7 secure
|
|
|
|
state. If not present the ARMv7 SDER will not be touched,
|
|
|
|
which means the PMU may fail to operate unless external
|
|
|
|
code (bootloader or security monitor) has performed the
|
|
|
|
appropriate initialisation. Note that this property is
|
|
|
|
not valid for non-ARMv7 CPUs or ARMv7 CPUs booting Linux
|
|
|
|
in Non-secure state.
|
|
|
|
|
2011-06-22 23:33:55 +09:00
|
|
|
Example:
|
|
|
|
|
|
|
|
pmu {
|
|
|
|
compatible = "arm,cortex-a9-pmu";
|
|
|
|
interrupts = <100 101>;
|
|
|
|
};
|