143 lines
3.3 KiB
YAML
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>;
|
|
};
|
|
};
|
|
};
|