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