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