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