138 lines · yaml
1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause2%YAML 1.23---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 Monitor8 9maintainers:10 - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>11 12description: |13 Bandwidth Monitor measures current throughput on buses between various NoC14 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 memory20 (DDR) - called LLCC BWMON.21 22properties:23 compatible:24 oneOf:25 - const: qcom,msm8998-bwmon # BWMON v426 - items:27 - enum:28 - qcom,qcm2290-cpu-bwmon29 - qcom,sa8775p-cpu-bwmon30 - qcom,sc7180-cpu-bwmon31 - qcom,sc7280-cpu-bwmon32 - qcom,sc8280xp-cpu-bwmon33 - qcom,sdm845-cpu-bwmon34 - qcom,sm6115-cpu-bwmon35 - qcom,sm6350-llcc-bwmon36 - qcom,sm8250-cpu-bwmon37 - qcom,sm8550-cpu-bwmon38 - qcom,sm8650-cpu-bwmon39 - qcom,x1e80100-cpu-bwmon40 - const: qcom,sdm845-bwmon # BWMON v4, unified register space41 - items:42 - enum:43 - qcom,sa8775p-llcc-bwmon44 - qcom,sc7180-llcc-bwmon45 - qcom,sc8280xp-llcc-bwmon46 - qcom,sm6350-cpu-bwmon47 - qcom,sm8250-llcc-bwmon48 - qcom,sm8550-llcc-bwmon49 - qcom,sm8650-llcc-bwmon50 - qcom,x1e80100-llcc-bwmon51 - const: qcom,sc7280-llcc-bwmon52 - const: qcom,sc7280-llcc-bwmon # BWMON v553 - const: qcom,sdm845-llcc-bwmon # BWMON v554 55 interconnects:56 maxItems: 157 58 interrupts:59 maxItems: 160 61 operating-points-v2: true62 opp-table:63 type: object64 65 reg:66 # BWMON v5 uses one register address space, v1-v4 use one or two.67 minItems: 168 maxItems: 269 70 reg-names:71 minItems: 172 maxItems: 273 74required:75 - compatible76 - interconnects77 - interrupts78 - operating-points-v279 - reg80 81additionalProperties: false82 83allOf:84 - if:85 properties:86 compatible:87 const: qcom,msm8998-bwmon88 then:89 properties:90 reg:91 minItems: 292 93 reg-names:94 items:95 - const: monitor96 - const: global97 98 else:99 properties:100 reg:101 maxItems: 1102 103 reg-names:104 maxItems: 1105 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