1a7ee53e1SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2a7ee53e1SKrzysztof Kozlowski%YAML 1.2 3a7ee53e1SKrzysztof Kozlowski--- 4a7ee53e1SKrzysztof Kozlowski$id: http://devicetree.org/schemas/interconnect/qcom,msm8998-bwmon.yaml# 5a7ee53e1SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6a7ee53e1SKrzysztof Kozlowski 7a7ee53e1SKrzysztof Kozlowskititle: Qualcomm Interconnect Bandwidth Monitor 8a7ee53e1SKrzysztof Kozlowski 9a7ee53e1SKrzysztof Kozlowskimaintainers: 10a7ee53e1SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11a7ee53e1SKrzysztof Kozlowski 12a7ee53e1SKrzysztof Kozlowskidescription: | 13a7ee53e1SKrzysztof Kozlowski Bandwidth Monitor measures current throughput on buses between various NoC 14a7ee53e1SKrzysztof Kozlowski fabrics and provides information when it crosses configured thresholds. 15a7ee53e1SKrzysztof Kozlowski 16a7ee53e1SKrzysztof Kozlowski Certain SoCs might have more than one Bandwidth Monitors, for example on SDM845:: 17a7ee53e1SKrzysztof Kozlowski - Measuring the bandwidth between CPUs and Last Level Cache Controller - 18a7ee53e1SKrzysztof Kozlowski called just BWMON, 19a7ee53e1SKrzysztof Kozlowski - Measuring the bandwidth between Last Level Cache Controller and memory 20a7ee53e1SKrzysztof Kozlowski (DDR) - called LLCC BWMON. 21a7ee53e1SKrzysztof Kozlowski 22a7ee53e1SKrzysztof Kozlowskiproperties: 23a7ee53e1SKrzysztof Kozlowski compatible: 24a7ee53e1SKrzysztof Kozlowski oneOf: 25b7590f38SKonrad Dybcio - const: qcom,msm8998-bwmon # BWMON v4 26a7ee53e1SKrzysztof Kozlowski - items: 27a7ee53e1SKrzysztof Kozlowski - enum: 28*770b8d2dSKonrad Dybcio - qcom,sc7180-cpu-bwmon 291498a5a7SKrzysztof Kozlowski - qcom,sc7280-cpu-bwmon 302d710b00SBjorn Andersson - qcom,sc8280xp-cpu-bwmon 31b7590f38SKonrad Dybcio - qcom,sdm845-cpu-bwmon 3216ceb986SNeil Armstrong - qcom,sm8550-cpu-bwmon 33b7590f38SKonrad Dybcio - const: qcom,sdm845-bwmon # BWMON v4, unified register space 342d710b00SBjorn Andersson - items: 352d710b00SBjorn Andersson - enum: 36*770b8d2dSKonrad Dybcio - qcom,sc7180-llcc-bwmon 372d710b00SBjorn Andersson - qcom,sc8280xp-llcc-bwmon 3816ceb986SNeil Armstrong - qcom,sm8550-llcc-bwmon 392d710b00SBjorn Andersson - const: qcom,sc7280-llcc-bwmon 40b7c84ae7SRajendra Nayak - const: qcom,sc7280-llcc-bwmon # BWMON v5 413098fcb1SKrzysztof Kozlowski - const: qcom,sdm845-llcc-bwmon # BWMON v5 42a7ee53e1SKrzysztof Kozlowski 43a7ee53e1SKrzysztof Kozlowski interconnects: 44a7ee53e1SKrzysztof Kozlowski maxItems: 1 45a7ee53e1SKrzysztof Kozlowski 46a7ee53e1SKrzysztof Kozlowski interrupts: 47a7ee53e1SKrzysztof Kozlowski maxItems: 1 48a7ee53e1SKrzysztof Kozlowski 49a7ee53e1SKrzysztof Kozlowski operating-points-v2: true 50c8973737SKrzysztof Kozlowski opp-table: 51c8973737SKrzysztof Kozlowski type: object 52a7ee53e1SKrzysztof Kozlowski 53a7ee53e1SKrzysztof Kozlowski reg: 54b7590f38SKonrad Dybcio # BWMON v5 uses one register address space, v1-v4 use one or two. 55b7590f38SKonrad Dybcio minItems: 1 56b7590f38SKonrad Dybcio maxItems: 2 57b7590f38SKonrad Dybcio 58b7590f38SKonrad Dybcio reg-names: 59b7590f38SKonrad Dybcio minItems: 1 60b7590f38SKonrad Dybcio maxItems: 2 61a7ee53e1SKrzysztof Kozlowski 62a7ee53e1SKrzysztof Kozlowskirequired: 63a7ee53e1SKrzysztof Kozlowski - compatible 64a7ee53e1SKrzysztof Kozlowski - interconnects 65a7ee53e1SKrzysztof Kozlowski - interrupts 66a7ee53e1SKrzysztof Kozlowski - operating-points-v2 67a7ee53e1SKrzysztof Kozlowski - opp-table 68a7ee53e1SKrzysztof Kozlowski - reg 69a7ee53e1SKrzysztof Kozlowski 70a7ee53e1SKrzysztof KozlowskiadditionalProperties: false 71a7ee53e1SKrzysztof Kozlowski 72b7590f38SKonrad DybcioallOf: 73b7590f38SKonrad Dybcio - if: 74b7590f38SKonrad Dybcio properties: 75b7590f38SKonrad Dybcio compatible: 76b7590f38SKonrad Dybcio const: qcom,msm8998-bwmon 77b7590f38SKonrad Dybcio then: 78b7590f38SKonrad Dybcio properties: 79b7590f38SKonrad Dybcio reg: 80b7590f38SKonrad Dybcio minItems: 2 81b7590f38SKonrad Dybcio 82b7590f38SKonrad Dybcio reg-names: 83b7590f38SKonrad Dybcio items: 84b7590f38SKonrad Dybcio - const: monitor 85b7590f38SKonrad Dybcio - const: global 86b7590f38SKonrad Dybcio 87b7590f38SKonrad Dybcio else: 88b7590f38SKonrad Dybcio properties: 89b7590f38SKonrad Dybcio reg: 90b7590f38SKonrad Dybcio maxItems: 1 91b7590f38SKonrad Dybcio 92b7590f38SKonrad Dybcio reg-names: 93b7590f38SKonrad Dybcio maxItems: 1 94b7590f38SKonrad Dybcio 95a7ee53e1SKrzysztof Kozlowskiexamples: 96a7ee53e1SKrzysztof Kozlowski - | 97a7ee53e1SKrzysztof Kozlowski #include <dt-bindings/interconnect/qcom,sdm845.h> 98a7ee53e1SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 99a7ee53e1SKrzysztof Kozlowski 100a7ee53e1SKrzysztof Kozlowski pmu@1436400 { 101b7590f38SKonrad Dybcio compatible = "qcom,sdm845-cpu-bwmon", "qcom,sdm845-bwmon"; 102a7ee53e1SKrzysztof Kozlowski reg = <0x01436400 0x600>; 103a7ee53e1SKrzysztof Kozlowski interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>; 104a7ee53e1SKrzysztof Kozlowski interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>; 105a7ee53e1SKrzysztof Kozlowski 106a7ee53e1SKrzysztof Kozlowski operating-points-v2 = <&cpu_bwmon_opp_table>; 107a7ee53e1SKrzysztof Kozlowski 108a7ee53e1SKrzysztof Kozlowski cpu_bwmon_opp_table: opp-table { 109a7ee53e1SKrzysztof Kozlowski compatible = "operating-points-v2"; 110a7ee53e1SKrzysztof Kozlowski opp-0 { 111a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <4800000>; 112a7ee53e1SKrzysztof Kozlowski }; 113a7ee53e1SKrzysztof Kozlowski opp-1 { 114a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <9216000>; 115a7ee53e1SKrzysztof Kozlowski }; 116a7ee53e1SKrzysztof Kozlowski opp-2 { 117a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <15052800>; 118a7ee53e1SKrzysztof Kozlowski }; 119a7ee53e1SKrzysztof Kozlowski opp-3 { 120a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <20889600>; 121a7ee53e1SKrzysztof Kozlowski }; 122a7ee53e1SKrzysztof Kozlowski opp-4 { 123a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <25497600>; 124a7ee53e1SKrzysztof Kozlowski }; 125a7ee53e1SKrzysztof Kozlowski }; 126a7ee53e1SKrzysztof Kozlowski }; 127