pmu.txt 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. * ARM Performance Monitor Units
  2. ARM cores often have a PMU for counting cpu and cache events like cache misses
  3. and hits. The interface to the PMU is part of the ARM ARM. The ARM PMU
  4. representation in the device tree should be done as under:-
  5. Required properties:
  6. - compatible : should be one of
  7. "apm,potenza-pmu"
  8. "arm,armv8-pmuv3"
  9. "arm,cortex-a73-pmu"
  10. "arm,cortex-a72-pmu"
  11. "arm,cortex-a57-pmu"
  12. "arm,cortex-a53-pmu"
  13. "arm,cortex-a35-pmu"
  14. "arm,cortex-a17-pmu"
  15. "arm,cortex-a15-pmu"
  16. "arm,cortex-a12-pmu"
  17. "arm,cortex-a9-pmu"
  18. "arm,cortex-a8-pmu"
  19. "arm,cortex-a7-pmu"
  20. "arm,cortex-a5-pmu"
  21. "arm,arm11mpcore-pmu"
  22. "arm,arm1176-pmu"
  23. "arm,arm1136-pmu"
  24. "brcm,vulcan-pmu"
  25. "cavium,thunder-pmu"
  26. "qcom,scorpion-pmu"
  27. "qcom,scorpion-mp-pmu"
  28. "qcom,krait-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.
  31. Optional properties:
  32. - interrupt-affinity : When using SPIs, specifies a list of phandles to CPU
  33. nodes corresponding directly to the affinity of
  34. the SPIs listed in the interrupts property.
  35. When using a PPI, specifies a list of phandles to CPU
  36. nodes corresponding to the set of CPUs which have
  37. a PMU of this type signalling the PPI listed in the
  38. interrupts property, unless this is already specified
  39. by the PPI interrupt specifier itself (in which case
  40. the interrupt-affinity property shouldn't be present).
  41. This property should be present when there is more than
  42. a single SPI.
  43. - qcom,no-pc-write : Indicates that this PMU doesn't support the 0xc and 0xd
  44. events.
  45. - secure-reg-access : Indicates that the ARMv7 Secure Debug Enable Register
  46. (SDER) is accessible. This will cause the driver to do
  47. any setup required that is only possible in ARMv7 secure
  48. state. If not present the ARMv7 SDER will not be touched,
  49. which means the PMU may fail to operate unless external
  50. code (bootloader or security monitor) has performed the
  51. appropriate initialisation. Note that this property is
  52. not valid for non-ARMv7 CPUs or ARMv7 CPUs booting Linux
  53. in Non-secure state.
  54. Example:
  55. pmu {
  56. compatible = "arm,cortex-a9-pmu";
  57. interrupts = <100 101>;
  58. };