1*a7ee53e1SKrzysztof Kozlowski# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 2*a7ee53e1SKrzysztof Kozlowski%YAML 1.2 3*a7ee53e1SKrzysztof Kozlowski--- 4*a7ee53e1SKrzysztof Kozlowski$id: http://devicetree.org/schemas/interconnect/qcom,msm8998-bwmon.yaml# 5*a7ee53e1SKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml# 6*a7ee53e1SKrzysztof Kozlowski 7*a7ee53e1SKrzysztof Kozlowskititle: Qualcomm Interconnect Bandwidth Monitor 8*a7ee53e1SKrzysztof Kozlowski 9*a7ee53e1SKrzysztof Kozlowskimaintainers: 10*a7ee53e1SKrzysztof Kozlowski - Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> 11*a7ee53e1SKrzysztof Kozlowski 12*a7ee53e1SKrzysztof Kozlowskidescription: | 13*a7ee53e1SKrzysztof Kozlowski Bandwidth Monitor measures current throughput on buses between various NoC 14*a7ee53e1SKrzysztof Kozlowski fabrics and provides information when it crosses configured thresholds. 15*a7ee53e1SKrzysztof Kozlowski 16*a7ee53e1SKrzysztof Kozlowski Certain SoCs might have more than one Bandwidth Monitors, for example on SDM845:: 17*a7ee53e1SKrzysztof Kozlowski - Measuring the bandwidth between CPUs and Last Level Cache Controller - 18*a7ee53e1SKrzysztof Kozlowski called just BWMON, 19*a7ee53e1SKrzysztof Kozlowski - Measuring the bandwidth between Last Level Cache Controller and memory 20*a7ee53e1SKrzysztof Kozlowski (DDR) - called LLCC BWMON. 21*a7ee53e1SKrzysztof Kozlowski 22*a7ee53e1SKrzysztof Kozlowskiproperties: 23*a7ee53e1SKrzysztof Kozlowski compatible: 24*a7ee53e1SKrzysztof Kozlowski oneOf: 25*a7ee53e1SKrzysztof Kozlowski - items: 26*a7ee53e1SKrzysztof Kozlowski - enum: 27*a7ee53e1SKrzysztof Kozlowski - qcom,sdm845-bwmon 28*a7ee53e1SKrzysztof Kozlowski - const: qcom,msm8998-bwmon 29*a7ee53e1SKrzysztof Kozlowski - const: qcom,msm8998-bwmon # BWMON v4 30*a7ee53e1SKrzysztof Kozlowski 31*a7ee53e1SKrzysztof Kozlowski interconnects: 32*a7ee53e1SKrzysztof Kozlowski maxItems: 1 33*a7ee53e1SKrzysztof Kozlowski 34*a7ee53e1SKrzysztof Kozlowski interrupts: 35*a7ee53e1SKrzysztof Kozlowski maxItems: 1 36*a7ee53e1SKrzysztof Kozlowski 37*a7ee53e1SKrzysztof Kozlowski operating-points-v2: true 38*a7ee53e1SKrzysztof Kozlowski opp-table: true 39*a7ee53e1SKrzysztof Kozlowski 40*a7ee53e1SKrzysztof Kozlowski reg: 41*a7ee53e1SKrzysztof Kozlowski # BWMON v4 (currently described) and BWMON v5 use one register address 42*a7ee53e1SKrzysztof Kozlowski # space. BWMON v2 uses two register spaces - not yet described. 43*a7ee53e1SKrzysztof Kozlowski maxItems: 1 44*a7ee53e1SKrzysztof Kozlowski 45*a7ee53e1SKrzysztof Kozlowskirequired: 46*a7ee53e1SKrzysztof Kozlowski - compatible 47*a7ee53e1SKrzysztof Kozlowski - interconnects 48*a7ee53e1SKrzysztof Kozlowski - interrupts 49*a7ee53e1SKrzysztof Kozlowski - operating-points-v2 50*a7ee53e1SKrzysztof Kozlowski - opp-table 51*a7ee53e1SKrzysztof Kozlowski - reg 52*a7ee53e1SKrzysztof Kozlowski 53*a7ee53e1SKrzysztof KozlowskiadditionalProperties: false 54*a7ee53e1SKrzysztof Kozlowski 55*a7ee53e1SKrzysztof Kozlowskiexamples: 56*a7ee53e1SKrzysztof Kozlowski - | 57*a7ee53e1SKrzysztof Kozlowski #include <dt-bindings/interconnect/qcom,sdm845.h> 58*a7ee53e1SKrzysztof Kozlowski #include <dt-bindings/interrupt-controller/arm-gic.h> 59*a7ee53e1SKrzysztof Kozlowski 60*a7ee53e1SKrzysztof Kozlowski pmu@1436400 { 61*a7ee53e1SKrzysztof Kozlowski compatible = "qcom,sdm845-bwmon", "qcom,msm8998-bwmon"; 62*a7ee53e1SKrzysztof Kozlowski reg = <0x01436400 0x600>; 63*a7ee53e1SKrzysztof Kozlowski interrupts = <GIC_SPI 581 IRQ_TYPE_LEVEL_HIGH>; 64*a7ee53e1SKrzysztof Kozlowski interconnects = <&gladiator_noc MASTER_APPSS_PROC 3 &mem_noc SLAVE_LLCC 3>; 65*a7ee53e1SKrzysztof Kozlowski 66*a7ee53e1SKrzysztof Kozlowski operating-points-v2 = <&cpu_bwmon_opp_table>; 67*a7ee53e1SKrzysztof Kozlowski 68*a7ee53e1SKrzysztof Kozlowski cpu_bwmon_opp_table: opp-table { 69*a7ee53e1SKrzysztof Kozlowski compatible = "operating-points-v2"; 70*a7ee53e1SKrzysztof Kozlowski opp-0 { 71*a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <4800000>; 72*a7ee53e1SKrzysztof Kozlowski }; 73*a7ee53e1SKrzysztof Kozlowski opp-1 { 74*a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <9216000>; 75*a7ee53e1SKrzysztof Kozlowski }; 76*a7ee53e1SKrzysztof Kozlowski opp-2 { 77*a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <15052800>; 78*a7ee53e1SKrzysztof Kozlowski }; 79*a7ee53e1SKrzysztof Kozlowski opp-3 { 80*a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <20889600>; 81*a7ee53e1SKrzysztof Kozlowski }; 82*a7ee53e1SKrzysztof Kozlowski opp-4 { 83*a7ee53e1SKrzysztof Kozlowski opp-peak-kBps = <25497600>; 84*a7ee53e1SKrzysztof Kozlowski }; 85*a7ee53e1SKrzysztof Kozlowski }; 86*a7ee53e1SKrzysztof Kozlowski }; 87