Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,msm8998-bwmon.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm Interconnect Bandwidth Monitor
8
9maintainers:
10 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
11
12description: |
13 Bandwidth Monitor measures current throughput on buses between various NoC
14 fabrics and provides information when it crosses configured thresholds.
15
16 Certain SoCs might have more than one Bandwidth Monitors, for example on SDM845::
17 - Measuring the bandwidth between CPUs and Last Level Cache Controller -
18 called just BWMON,
19 - Measuring the bandwidth between Last Level Cache Controller and memory
20 (DDR) - called LLCC BWMON.
21
22properties:
23 compatible:
24 oneOf:
25 - const: qcom,msm8998-bwmon # BWMON v4
26 - items:
27 - enum:
28 - qcom,qcm2290-cpu-bwmon
29 - qcom,qcs615-cpu-bwmon
30 - qcom,qcs8300-cpu-bwmon
31 - qcom,sa8775p-cpu-bwmon
32 - qcom,sc7180-cpu-bwmon
33 - qcom,sc7280-cpu-bwmon
34 - qcom,sc8280xp-cpu-bwmon
35 - qcom,sdm845-cpu-bwmon
36 - qcom,sm6115-cpu-bwmon
37 - qcom,sm6350-llcc-bwmon
38 - qcom,sm8250-cpu-bwmon
39 - qcom,sm8550-cpu-bwmon
40 - qcom,sm8650-cpu-bwmon
41 - qcom,sm8750-cpu-bwmon
42 - qcom,x1e80100-cpu-bwmon
43 - const: qcom,sdm845-bwmon # BWMON v4, unified register space
44 - items:
45 - enum:
46 - qcom,qcs615-llcc-bwmon
47 - qcom,qcs8300-llcc-bwmon
48 - qcom,sa8775p-llcc-bwmon
49 - qcom,sc7180-llcc-bwmon
50 - qcom,sc8280xp-llcc-bwmon
51 - qcom,sm6350-cpu-bwmon
52 - qcom,sm8250-llcc-bwmon
53 - qcom,sm8550-llcc-bwmon
54 - qcom,sm8650-llcc-bwmon
55 - qcom,x1e80100-llcc-bwmon
56 - const: qcom,sc7280-llcc-bwmon
57 - const: qcom,sc7280-llcc-bwmon # BWMON v5
58 - const: qcom,sdm845-llcc-bwmon # BWMON v5
59
60 interconnects:
61 maxItems: 1
62
63 interrupts:
64 maxItems: 1
65
66 operating-points-v2: true
67 opp-table:
68 type: object
69
70 reg:
71 # BWMON v5 uses one register address space, v1-v4 use one or two.
72 minItems: 1
73 maxItems: 2
74
75 reg-names:
76 minItems: 1
77 maxItems: 2
78
79required:
80 - compatible
81 - interconnects
82 - interrupts
83 - operating-points-v2
84 - reg
85
86additionalProperties: false
87
88allOf:
89 - if:
90 properties:
91 compatible:
92 const: qcom,msm8998-bwmon
93 then:
94 properties:
95 reg:
96 minItems: 2
97
98 reg-names:
99 items:
100 - const: monitor
101 - const: global
102
103 else:
104 properties:
105 reg:
106 maxItems: 1
107
108 reg-names:
109 maxItems: 1
110
111examples:
112 - |
113 #include <dt-bindings/interconnect/qcom,sdm845.h>
114 #include <dt-bindings/interrupt-controller/arm-gic.h>
115
116 pmu@1436400 {
117 compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon";
118 reg = <0x01436400 0x600>;
119 interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>;
120 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>;
121
122 operating-points-v2 = <&cpu_bwmon_opp_table>;
123
124 cpu_bwmon_opp_table: opp-table {
125 compatible = "operating-points-v2";
126 opp-0 {
127 opp-peak-kBps = <4800000>;
128 };
129 opp-1 {
130 opp-peak-kBps = <9216000>;
131 };
132 opp-2 {
133 opp-peak-kBps = <15052800>;
134 };
135 opp-3 {
136 opp-peak-kBps = <20889600>;
137 };
138 opp-4 {
139 opp-peak-kBps = <25497600>;
140 };
141 };
142 };