Linux 6.7-rc7
[linux-modified.git] / Documentation / devicetree / bindings / interconnect / qcom,msm8939.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/interconnect/qcom,msm8939.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: Qualcomm MSM8939 Network-On-Chip interconnect
8
9 maintainers:
10   - Konrad Dybcio <konradybcio@kernel.org>
11
12 description: |
13   The Qualcomm MSM8939 interconnect providers support adjusting the
14   bandwidth requirements between the various NoC fabrics.
15
16 allOf:
17   - $ref: qcom,rpm-common.yaml#
18
19 properties:
20   compatible:
21     enum:
22       - qcom,msm8939-bimc
23       - qcom,msm8939-pcnoc
24       - qcom,msm8939-snoc
25
26   reg:
27     maxItems: 1
28
29 patternProperties:
30   '^interconnect-[a-z0-9\-]+$':
31     type: object
32     $ref: qcom,rpm-common.yaml#
33     description:
34       The interconnect providers do not have a separate QoS register space,
35       but share parent's space.
36
37     allOf:
38       - $ref: qcom,rpm-common.yaml#
39
40     properties:
41       compatible:
42         const: qcom,msm8939-snoc-mm
43
44     required:
45       - compatible
46
47     unevaluatedProperties: false
48
49 required:
50   - compatible
51   - reg
52
53 unevaluatedProperties: false
54
55 examples:
56   - |
57     #include <dt-bindings/clock/qcom,rpmcc.h>
58
59     snoc: interconnect@580000 {
60         compatible = "qcom,msm8939-snoc";
61         reg = <0x00580000 0x14000>;
62         #interconnect-cells = <1>;
63     };
64
65     bimc: interconnect@400000 {
66         compatible = "qcom,msm8939-bimc";
67         reg = <0x00400000 0x62000>;
68         #interconnect-cells = <1>;
69
70           snoc_mm: interconnect-snoc {
71               compatible = "qcom,msm8939-snoc-mm";
72               #interconnect-cells = <1>;
73           };
74     };