Merge branch 'fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/evalenti/linux...
[linux/fpc-iii.git] / Documentation / devicetree / bindings / arm / pmu.txt
blob6eb73be9433e8af323b96d99728b42a131e1de4b
1 * ARM Performance Monitor Units
3 ARM cores often have a PMU for counting cpu and cache events like cache misses
4 and hits. The interface to the PMU is part of the ARM ARM. The ARM PMU
5 representation in the device tree should be done as under:-
7 Required properties:
9 - compatible : should be one of
10         "apm,potenza-pmu"
11         "arm,armv8-pmuv3"
12         "arm,cortex-a72-pmu"
13         "arm,cortex-a57-pmu"
14         "arm,cortex-a53-pmu"
15         "arm,cortex-a17-pmu"
16         "arm,cortex-a15-pmu"
17         "arm,cortex-a12-pmu"
18         "arm,cortex-a9-pmu"
19         "arm,cortex-a8-pmu"
20         "arm,cortex-a7-pmu"
21         "arm,cortex-a5-pmu"
22         "arm,arm11mpcore-pmu"
23         "arm,arm1176-pmu"
24         "arm,arm1136-pmu"
25         "qcom,scorpion-pmu"
26         "qcom,scorpion-mp-pmu"
27         "qcom,krait-pmu"
28         "cavium,thunder-pmu"
29 - interrupts : 1 combined interrupt or 1 per core. If the interrupt is a per-cpu
30                interrupt (PPI) then 1 interrupt should be specified.
32 Optional properties:
34 - interrupt-affinity : When using SPIs, specifies a list of phandles to CPU
35                        nodes corresponding directly to the affinity of
36                        the SPIs listed in the interrupts property.
38                        When using a PPI, specifies a list of phandles to CPU
39                        nodes corresponding to the set of CPUs which have
40                        a PMU of this type signalling the PPI listed in the
41                        interrupts property.
43                        This property should be present when there is more than
44                        a single SPI.
47 - qcom,no-pc-write : Indicates that this PMU doesn't support the 0xc and 0xd
48                      events.
50 - secure-reg-access : Indicates that the ARMv7 Secure Debug Enable Register
51                       (SDER) is accessible. This will cause the driver to do
52                       any setup required that is only possible in ARMv7 secure
53                       state. If not present the ARMv7 SDER will not be touched,
54                       which means the PMU may fail to operate unless external
55                       code (bootloader or security monitor) has performed the
56                       appropriate initialisation. Note that this property is
57                       not valid for non-ARMv7 CPUs or ARMv7 CPUs booting Linux
58                       in Non-secure state.
60 Example:
62 pmu {
63         compatible = "arm,cortex-a9-pmu";
64         interrupts = <100 101>;