135 lines
3.4 KiB
YAML
135 lines
3.4 KiB
YAML
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/interconnect/qcom,msm8998-bwmon.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Qualcomm Interconnect Bandwidth Monitor
|
|
|
|
maintainers:
|
|
- Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
|
|
|
|
description: |
|
|
Bandwidth Monitor measures current throughput on buses between various NoC
|
|
fabrics and provides information when it crosses configured thresholds.
|
|
|
|
Certain SoCs might have more than one Bandwidth Monitors, for example on SDM845::
|
|
- Measuring the bandwidth between CPUs and Last Level Cache Controller -
|
|
called just BWMON,
|
|
- Measuring the bandwidth between Last Level Cache Controller and memory
|
|
(DDR) - called LLCC BWMON.
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: qcom,msm8998-bwmon # BWMON v4
|
|
- items:
|
|
- enum:
|
|
- qcom,qcm2290-cpu-bwmon
|
|
- qcom,sc7180-cpu-bwmon
|
|
- qcom,sc7280-cpu-bwmon
|
|
- qcom,sc8280xp-cpu-bwmon
|
|
- qcom,sdm845-cpu-bwmon
|
|
- qcom,sm6115-cpu-bwmon
|
|
- qcom,sm6350-llcc-bwmon
|
|
- qcom,sm8250-cpu-bwmon
|
|
- qcom,sm8550-cpu-bwmon
|
|
- qcom,sm8650-cpu-bwmon
|
|
- const: qcom,sdm845-bwmon # BWMON v4, unified register space
|
|
- items:
|
|
- enum:
|
|
- qcom,sc7180-llcc-bwmon
|
|
- qcom,sc8280xp-llcc-bwmon
|
|
- qcom,sm6350-cpu-bwmon
|
|
- qcom,sm8250-llcc-bwmon
|
|
- qcom,sm8550-llcc-bwmon
|
|
- qcom,sm8650-llcc-bwmon
|
|
- const: qcom,sc7280-llcc-bwmon
|
|
- const: qcom,sc7280-llcc-bwmon # BWMON v5
|
|
- const: qcom,sdm845-llcc-bwmon # BWMON v5
|
|
|
|
interconnects:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
maxItems: 1
|
|
|
|
operating-points-v2: true
|
|
opp-table:
|
|
type: object
|
|
|
|
reg:
|
|
# BWMON v5 uses one register address space, v1-v4 use one or two.
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
reg-names:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
required:
|
|
- compatible
|
|
- interconnects
|
|
- interrupts
|
|
- operating-points-v2
|
|
- opp-table
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
const: qcom,msm8998-bwmon
|
|
then:
|
|
properties:
|
|
reg:
|
|
minItems: 2
|
|
|
|
reg-names:
|
|
items:
|
|
- const: monitor
|
|
- const: global
|
|
|
|
else:
|
|
properties:
|
|
reg:
|
|
maxItems: 1
|
|
|
|
reg-names:
|
|
maxItems: 1
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/interconnect/qcom,sdm845.h>
|
|
#include <dt-bindings/interrupt-controller/arm-gic.h>
|
|
|
|
pmu@1436400 {
|
|
compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon";
|
|
reg = <0x01436400 0x600>;
|
|
interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
|
|
interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>;
|
|
|
|
operating-points-v2 = <&cpu_bwmon_opp_table>;
|
|
|
|
cpu_bwmon_opp_table: opp-table {
|
|
compatible = "operating-points-v2";
|
|
opp-0 {
|
|
opp-peak-kBps = <4800000>;
|
|
};
|
|
opp-1 {
|
|
opp-peak-kBps = <9216000>;
|
|
};
|
|
opp-2 {
|
|
opp-peak-kBps = <15052800>;
|
|
};
|
|
opp-3 {
|
|
opp-peak-kBps = <20889600>;
|
|
};
|
|
opp-4 {
|
|
opp-peak-kBps = <25497600>;
|
|
};
|
|
};
|
|
};
|