xref: /linux/Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml (revision 4f38da1f027ea2c9f01bb71daa7a299c191b6940)
1*47829efaSRob Herring (Arm)# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*47829efaSRob Herring (Arm)%YAML 1.2
3*47829efaSRob Herring (Arm)---
4*47829efaSRob Herring (Arm)$id: http://devicetree.org/schemas/perf/apm,xgene-pmu.yaml#
5*47829efaSRob Herring (Arm)$schema: http://devicetree.org/meta-schemas/core.yaml#
6*47829efaSRob Herring (Arm)
7*47829efaSRob Herring (Arm)title: APM X-Gene SoC PMU
8*47829efaSRob Herring (Arm)
9*47829efaSRob Herring (Arm)maintainers:
10*47829efaSRob Herring (Arm)  - Khuong Dinh <khuong@os.amperecomputing.com>
11*47829efaSRob Herring (Arm)
12*47829efaSRob Herring (Arm)description: |
13*47829efaSRob Herring (Arm)  This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
14*47829efaSRob Herring (Arm)  The following PMU devices are supported:
15*47829efaSRob Herring (Arm)
16*47829efaSRob Herring (Arm)    L3C            - L3 cache controller
17*47829efaSRob Herring (Arm)    IOB            - IO bridge
18*47829efaSRob Herring (Arm)    MCB            - Memory controller bridge
19*47829efaSRob Herring (Arm)    MC             - Memory controller
20*47829efaSRob Herring (Arm)
21*47829efaSRob Herring (Arm)properties:
22*47829efaSRob Herring (Arm)  compatible:
23*47829efaSRob Herring (Arm)    enum:
24*47829efaSRob Herring (Arm)      - apm,xgene-pmu
25*47829efaSRob Herring (Arm)      - apm,xgene-pmu-v2
26*47829efaSRob Herring (Arm)
27*47829efaSRob Herring (Arm)  "#address-cells":
28*47829efaSRob Herring (Arm)    const: 2
29*47829efaSRob Herring (Arm)
30*47829efaSRob Herring (Arm)  "#size-cells":
31*47829efaSRob Herring (Arm)    const: 2
32*47829efaSRob Herring (Arm)
33*47829efaSRob Herring (Arm)  ranges: true
34*47829efaSRob Herring (Arm)
35*47829efaSRob Herring (Arm)  reg:
36*47829efaSRob Herring (Arm)    maxItems: 1
37*47829efaSRob Herring (Arm)
38*47829efaSRob Herring (Arm)  interrupts:
39*47829efaSRob Herring (Arm)    maxItems: 1
40*47829efaSRob Herring (Arm)
41*47829efaSRob Herring (Arm)  regmap-csw:
42*47829efaSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle
43*47829efaSRob Herring (Arm)
44*47829efaSRob Herring (Arm)  regmap-mcba:
45*47829efaSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle
46*47829efaSRob Herring (Arm)
47*47829efaSRob Herring (Arm)  regmap-mcbb:
48*47829efaSRob Herring (Arm)    $ref: /schemas/types.yaml#/definitions/phandle
49*47829efaSRob Herring (Arm)
50*47829efaSRob Herring (Arm)required:
51*47829efaSRob Herring (Arm)  - compatible
52*47829efaSRob Herring (Arm)  - regmap-csw
53*47829efaSRob Herring (Arm)  - regmap-mcba
54*47829efaSRob Herring (Arm)  - regmap-mcbb
55*47829efaSRob Herring (Arm)  - reg
56*47829efaSRob Herring (Arm)  - interrupts
57*47829efaSRob Herring (Arm)
58*47829efaSRob Herring (Arm)additionalProperties:
59*47829efaSRob Herring (Arm)  type: object
60*47829efaSRob Herring (Arm)  additionalProperties: false
61*47829efaSRob Herring (Arm)
62*47829efaSRob Herring (Arm)  properties:
63*47829efaSRob Herring (Arm)    compatible:
64*47829efaSRob Herring (Arm)      enum:
65*47829efaSRob Herring (Arm)        - apm,xgene-pmu-l3c
66*47829efaSRob Herring (Arm)        - apm,xgene-pmu-iob
67*47829efaSRob Herring (Arm)        - apm,xgene-pmu-mcb
68*47829efaSRob Herring (Arm)        - apm,xgene-pmu-mc
69*47829efaSRob Herring (Arm)
70*47829efaSRob Herring (Arm)    reg:
71*47829efaSRob Herring (Arm)      maxItems: 1
72*47829efaSRob Herring (Arm)
73*47829efaSRob Herring (Arm)    enable-bit-index:
74*47829efaSRob Herring (Arm)      description:
75*47829efaSRob Herring (Arm)        Specifies which bit enables the associated resource in MCB or MC subnodes.
76*47829efaSRob Herring (Arm)      $ref: /schemas/types.yaml#/definitions/uint32
77*47829efaSRob Herring (Arm)      maximum: 31
78*47829efaSRob Herring (Arm)
79*47829efaSRob Herring (Arm)examples:
80*47829efaSRob Herring (Arm)  - |
81*47829efaSRob Herring (Arm)    bus {
82*47829efaSRob Herring (Arm)        #address-cells = <2>;
83*47829efaSRob Herring (Arm)        #size-cells = <2>;
84*47829efaSRob Herring (Arm)
85*47829efaSRob Herring (Arm)        pmu@78810000 {
86*47829efaSRob Herring (Arm)            compatible = "apm,xgene-pmu-v2";
87*47829efaSRob Herring (Arm)            reg = <0x0 0x78810000 0x0 0x1000>;
88*47829efaSRob Herring (Arm)            #address-cells = <2>;
89*47829efaSRob Herring (Arm)            #size-cells = <2>;
90*47829efaSRob Herring (Arm)            ranges;
91*47829efaSRob Herring (Arm)            regmap-csw = <&csw>;
92*47829efaSRob Herring (Arm)            regmap-mcba = <&mcba>;
93*47829efaSRob Herring (Arm)            regmap-mcbb = <&mcbb>;
94*47829efaSRob Herring (Arm)            interrupts = <0x0 0x22 0x4>;
95*47829efaSRob Herring (Arm)
96*47829efaSRob Herring (Arm)            pmul3c@7e610000 {
97*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-l3c";
98*47829efaSRob Herring (Arm)                reg = <0x0 0x7e610000 0x0 0x1000>;
99*47829efaSRob Herring (Arm)            };
100*47829efaSRob Herring (Arm)
101*47829efaSRob Herring (Arm)            pmuiob@7e940000 {
102*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-iob";
103*47829efaSRob Herring (Arm)                reg = <0x0 0x7e940000 0x0 0x1000>;
104*47829efaSRob Herring (Arm)            };
105*47829efaSRob Herring (Arm)
106*47829efaSRob Herring (Arm)            pmucmcb@7e710000 {
107*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mcb";
108*47829efaSRob Herring (Arm)                reg = <0x0 0x7e710000 0x0 0x1000>;
109*47829efaSRob Herring (Arm)                enable-bit-index = <0>;
110*47829efaSRob Herring (Arm)            };
111*47829efaSRob Herring (Arm)
112*47829efaSRob Herring (Arm)            pmucmcb@7e730000 {
113*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mcb";
114*47829efaSRob Herring (Arm)                reg = <0x0 0x7e730000 0x0 0x1000>;
115*47829efaSRob Herring (Arm)                enable-bit-index = <1>;
116*47829efaSRob Herring (Arm)            };
117*47829efaSRob Herring (Arm)
118*47829efaSRob Herring (Arm)            pmucmc@7e810000 {
119*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mc";
120*47829efaSRob Herring (Arm)                reg = <0x0 0x7e810000 0x0 0x1000>;
121*47829efaSRob Herring (Arm)                enable-bit-index = <0>;
122*47829efaSRob Herring (Arm)            };
123*47829efaSRob Herring (Arm)
124*47829efaSRob Herring (Arm)            pmucmc@7e850000 {
125*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mc";
126*47829efaSRob Herring (Arm)                reg = <0x0 0x7e850000 0x0 0x1000>;
127*47829efaSRob Herring (Arm)                enable-bit-index = <1>;
128*47829efaSRob Herring (Arm)            };
129*47829efaSRob Herring (Arm)
130*47829efaSRob Herring (Arm)            pmucmc@7e890000 {
131*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mc";
132*47829efaSRob Herring (Arm)                reg = <0x0 0x7e890000 0x0 0x1000>;
133*47829efaSRob Herring (Arm)                enable-bit-index = <2>;
134*47829efaSRob Herring (Arm)            };
135*47829efaSRob Herring (Arm)
136*47829efaSRob Herring (Arm)            pmucmc@7e8d0000 {
137*47829efaSRob Herring (Arm)                compatible = "apm,xgene-pmu-mc";
138*47829efaSRob Herring (Arm)                reg = <0x0 0x7e8d0000 0x0 0x1000>;
139*47829efaSRob Herring (Arm)                enable-bit-index = <3>;
140*47829efaSRob Herring (Arm)            };
141*47829efaSRob Herring (Arm)        };
142*47829efaSRob Herring (Arm)    };
143