xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml (revision 4b660dbd9ee2059850fd30e0df420ca7a38a1856)
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
7title: Qualcomm MSM8939 Network-On-Chip interconnect
8
9maintainers:
10  - Konrad Dybcio <konradybcio@kernel.org>
11
12description: |
13  The Qualcomm MSM8939 interconnect providers support adjusting the
14  bandwidth requirements between the various NoC fabrics.
15
16allOf:
17  - $ref: qcom,rpm-common.yaml#
18
19properties:
20  compatible:
21    enum:
22      - qcom,msm8939-bimc
23      - qcom,msm8939-pcnoc
24      - qcom,msm8939-snoc
25
26  reg:
27    maxItems: 1
28
29patternProperties:
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
49required:
50  - compatible
51  - reg
52
53unevaluatedProperties: false
54
55examples:
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    };
75