Linux-6.18.2/Documentation/devicetree/bindings/perf/apm,xgene-pmu.yaml
2025-12-23 20:06:59 +08:00

143 lines
3.3 KiB
YAML

# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/perf/apm,xgene-pmu.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: APM X-Gene SoC PMU
maintainers:
- Khuong Dinh <khuong@os.amperecomputing.com>
description: |
This is APM X-Gene SoC PMU (Performance Monitoring Unit) module.
The following PMU devices are supported:
L3C - L3 cache controller
IOB - IO bridge
MCB - Memory controller bridge
MC - Memory controller
properties:
compatible:
enum:
- apm,xgene-pmu
- apm,xgene-pmu-v2
"#address-cells":
const: 2
"#size-cells":
const: 2
ranges: true
reg:
maxItems: 1
interrupts:
maxItems: 1
regmap-csw:
$ref: /schemas/types.yaml#/definitions/phandle
regmap-mcba:
$ref: /schemas/types.yaml#/definitions/phandle
regmap-mcbb:
$ref: /schemas/types.yaml#/definitions/phandle
required:
- compatible
- regmap-csw
- regmap-mcba
- regmap-mcbb
- reg
- interrupts
additionalProperties:
type: object
additionalProperties: false
properties:
compatible:
enum:
- apm,xgene-pmu-l3c
- apm,xgene-pmu-iob
- apm,xgene-pmu-mcb
- apm,xgene-pmu-mc
reg:
maxItems: 1
enable-bit-index:
description:
Specifies which bit enables the associated resource in MCB or MC subnodes.
$ref: /schemas/types.yaml#/definitions/uint32
maximum: 31
examples:
- |
bus {
#address-cells = <2>;
#size-cells = <2>;
pmu@78810000 {
compatible = "apm,xgene-pmu-v2";
reg = <0x0 0x78810000 0x0 0x1000>;
#address-cells = <2>;
#size-cells = <2>;
ranges;
regmap-csw = <&csw>;
regmap-mcba = <&mcba>;
regmap-mcbb = <&mcbb>;
interrupts = <0x0 0x22 0x4>;
pmul3c@7e610000 {
compatible = "apm,xgene-pmu-l3c";
reg = <0x0 0x7e610000 0x0 0x1000>;
};
pmuiob@7e940000 {
compatible = "apm,xgene-pmu-iob";
reg = <0x0 0x7e940000 0x0 0x1000>;
};
pmucmcb@7e710000 {
compatible = "apm,xgene-pmu-mcb";
reg = <0x0 0x7e710000 0x0 0x1000>;
enable-bit-index = <0>;
};
pmucmcb@7e730000 {
compatible = "apm,xgene-pmu-mcb";
reg = <0x0 0x7e730000 0x0 0x1000>;
enable-bit-index = <1>;
};
pmucmc@7e810000 {
compatible = "apm,xgene-pmu-mc";
reg = <0x0 0x7e810000 0x0 0x1000>;
enable-bit-index = <0>;
};
pmucmc@7e850000 {
compatible = "apm,xgene-pmu-mc";
reg = <0x0 0x7e850000 0x0 0x1000>;
enable-bit-index = <1>;
};
pmucmc@7e890000 {
compatible = "apm,xgene-pmu-mc";
reg = <0x0 0x7e890000 0x0 0x1000>;
enable-bit-index = <2>;
};
pmucmc@7e8d0000 {
compatible = "apm,xgene-pmu-mc";
reg = <0x0 0x7e8d0000 0x0 0x1000>;
enable-bit-index = <3>;
};
};
};