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,sa8775p-cpu-bwmon 30 - qcom,sc7180-cpu-bwmon 31 - qcom,sc7280-cpu-bwmon 32 - qcom,sc8280xp-cpu-bwmon 33 - qcom,sdm845-cpu-bwmon 34 - qcom,sm6115-cpu-bwmon 35 - qcom,sm6350-llcc-bwmon 36 - qcom,sm8250-cpu-bwmon 37 - qcom,sm8550-cpu-bwmon 38 - qcom,sm8650-cpu-bwmon 39 - qcom,x1e80100-cpu-bwmon 40 - const: qcom,sdm845-bwmon # BWMON v4, unified register space 41 - items: 42 - enum: 43 - qcom,sa8775p-llcc-bwmon 44 - qcom,sc7180-llcc-bwmon 45 - qcom,sc8280xp-llcc-bwmon 46 - qcom,sm6350-cpu-bwmon 47 - qcom,sm8250-llcc-bwmon 48 - qcom,sm8550-llcc-bwmon 49 - qcom,sm8650-llcc-bwmon 50 - qcom,x1e80100-llcc-bwmon 51 - const: qcom,sc7280-llcc-bwmon 52 - const: qcom,sc7280-llcc-bwmon # BWMON v5 53 - const: qcom,sdm845-llcc-bwmon # BWMON v5 54 55 interconnects: 56 maxItems: 1 57 58 interrupts: 59 maxItems: 1 60 61 operating-points-v2: true 62 opp-table: 63 type: object 64 65 reg: 66 # BWMON v5 uses one register address space, v1-v4 use one or two. 67 minItems: 1 68 maxItems: 2 69 70 reg-names: 71 minItems: 1 72 maxItems: 2 73 74required: 75 - compatible 76 - interconnects 77 - interrupts 78 - operating-points-v2 79 - reg 80 81additionalProperties: false 82 83allOf: 84 - if: 85 properties: 86 compatible: 87 const: qcom,msm8998-bwmon 88 then: 89 properties: 90 reg: 91 minItems: 2 92 93 reg-names: 94 items: 95 - const: monitor 96 - const: global 97 98 else: 99 properties: 100 reg: 101 maxItems: 1 102 103 reg-names: 104 maxItems: 1 105 106examples: 107 - | 108 #include <dt-bindings/interconnect/qcom,sdm845.h> 109 #include <dt-bindings/interrupt-controller/arm-gic.h> 110 111 pmu@1436400 { 112 compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon"; 113 reg = <0x01436400 0x600>; 114 interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>; 115 interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>; 116 117 operating-points-v2 = <&cpu_bwmon_opp_table>; 118 119 cpu_bwmon_opp_table: opp-table { 120 compatible = "operating-points-v2"; 121 opp-0 { 122 opp-peak-kBps = <4800000>; 123 }; 124 opp-1 { 125 opp-peak-kBps = <9216000>; 126 }; 127 opp-2 { 128 opp-peak-kBps = <15052800>; 129 }; 130 opp-3 { 131 opp-peak-kBps = <20889600>; 132 }; 133 opp-4 { 134 opp-peak-kBps = <25497600>; 135 }; 136 }; 137 }; 138