apm-xgene-pmu.txt 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. * APM X-Gene SoC PMU bindings
  2. This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
  3. The following PMU devices are supported:
  4. L3C - L3 cache controller
  5. IOB - IO bridge
  6. MCB - Memory controller bridge
  7. MC - Memory controller
  8. The following section describes the SoC PMU DT node binding.
  9. Required properties:
  10. - compatible : Shall be "apm,xgene-pmu" for revision 1 or
  11. "apm,xgene-pmu-v2" for revision 2.
  12. - regmap-csw : Regmap of the CPU switch fabric (CSW) resource.
  13. - regmap-mcba : Regmap of the MCB-A (memory bridge) resource.
  14. - regmap-mcbb : Regmap of the MCB-B (memory bridge) resource.
  15. - reg : First resource shall be the CPU bus PMU resource.
  16. - interrupts : Interrupt-specifier for PMU IRQ.
  17. Required properties for L3C subnode:
  18. - compatible : Shall be "apm,xgene-pmu-l3c".
  19. - reg : First resource shall be the L3C PMU resource.
  20. Required properties for IOB subnode:
  21. - compatible : Shall be "apm,xgene-pmu-iob".
  22. - reg : First resource shall be the IOB PMU resource.
  23. Required properties for MCB subnode:
  24. - compatible : Shall be "apm,xgene-pmu-mcb".
  25. - reg : First resource shall be the MCB PMU resource.
  26. - enable-bit-index : The bit indicates if the according MCB is enabled.
  27. Required properties for MC subnode:
  28. - compatible : Shall be "apm,xgene-pmu-mc".
  29. - reg : First resource shall be the MC PMU resource.
  30. - enable-bit-index : The bit indicates if the according MC is enabled.
  31. Example:
  32. csw: csw@7e200000 {
  33. compatible = "apm,xgene-csw", "syscon";
  34. reg = <0x0 0x7e200000 0x0 0x1000>;
  35. };
  36. mcba: mcba@7e700000 {
  37. compatible = "apm,xgene-mcb", "syscon";
  38. reg = <0x0 0x7e700000 0x0 0x1000>;
  39. };
  40. mcbb: mcbb@7e720000 {
  41. compatible = "apm,xgene-mcb", "syscon";
  42. reg = <0x0 0x7e720000 0x0 0x1000>;
  43. };
  44. pmu: pmu@78810000 {
  45. compatible = "apm,xgene-pmu-v2";
  46. #address-cells = <2>;
  47. #size-cells = <2>;
  48. ranges;
  49. regmap-csw = <&csw>;
  50. regmap-mcba = <&mcba>;
  51. regmap-mcbb = <&mcbb>;
  52. reg = <0x0 0x78810000 0x0 0x1000>;
  53. interrupts = <0x0 0x22 0x4>;
  54. pmul3c@7e610000 {
  55. compatible = "apm,xgene-pmu-l3c";
  56. reg = <0x0 0x7e610000 0x0 0x1000>;
  57. };
  58. pmuiob@7e940000 {
  59. compatible = "apm,xgene-pmu-iob";
  60. reg = <0x0 0x7e940000 0x0 0x1000>;
  61. };
  62. pmucmcb@7e710000 {
  63. compatible = "apm,xgene-pmu-mcb";
  64. reg = <0x0 0x7e710000 0x0 0x1000>;
  65. enable-bit-index = <0>;
  66. };
  67. pmucmcb@7e730000 {
  68. compatible = "apm,xgene-pmu-mcb";
  69. reg = <0x0 0x7e730000 0x0 0x1000>;
  70. enable-bit-index = <1>;
  71. };
  72. pmucmc@7e810000 {
  73. compatible = "apm,xgene-pmu-mc";
  74. reg = <0x0 0x7e810000 0x0 0x1000>;
  75. enable-bit-index = <0>;
  76. };
  77. pmucmc@7e850000 {
  78. compatible = "apm,xgene-pmu-mc";
  79. reg = <0x0 0x7e850000 0x0 0x1000>;
  80. enable-bit-index = <1>;
  81. };
  82. pmucmc@7e890000 {
  83. compatible = "apm,xgene-pmu-mc";
  84. reg = <0x0 0x7e890000 0x0 0x1000>;
  85. enable-bit-index = <2>;
  86. };
  87. pmucmc@7e8d0000 {
  88. compatible = "apm,xgene-pmu-mc";
  89. reg = <0x0 0x7e8d0000 0x0 0x1000>;
  90. enable-bit-index = <3>;
  91. };
  92. };