xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8939.yaml (revision 55d0969c451159cff86949b38c39171cab962069)
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 MSM8937/MSM8939/MSM8976 Network-On-Chip interconnect
8
9maintainers:
10  - Konrad Dybcio <konradybcio@kernel.org>
11
12description:
13  The Qualcomm MSM8937/MSM8939/MSM8976 interconnect providers support
14  adjusting the bandwidth requirements between the various NoC fabrics.
15
16allOf:
17  - $ref: qcom,rpm-common.yaml#
18
19properties:
20  compatible:
21    enum:
22      - qcom,msm8937-bimc
23      - qcom,msm8937-pcnoc
24      - qcom,msm8937-snoc
25      - qcom,msm8939-bimc
26      - qcom,msm8939-pcnoc
27      - qcom,msm8939-snoc
28      - qcom,msm8976-bimc
29      - qcom,msm8976-pcnoc
30      - qcom,msm8976-snoc
31
32  reg:
33    maxItems: 1
34
35patternProperties:
36  '^interconnect-[a-z0-9\-]+$':
37    type: object
38    $ref: qcom,rpm-common.yaml#
39    description:
40      The interconnect providers do not have a separate QoS register space,
41      but share parent's space.
42
43    allOf:
44      - $ref: qcom,rpm-common.yaml#
45
46    properties:
47      compatible:
48        enum:
49          - qcom,msm8937-snoc-mm
50          - qcom,msm8939-snoc-mm
51          - qcom,msm8976-snoc-mm
52
53    required:
54      - compatible
55
56    unevaluatedProperties: false
57
58required:
59  - compatible
60  - reg
61
62unevaluatedProperties: false
63
64examples:
65  - |
66    #include <dt-bindings/clock/qcom,rpmcc.h>
67
68    snoc: interconnect@580000 {
69        compatible = "qcom,msm8939-snoc";
70        reg = <0x00580000 0x14000>;
71        #interconnect-cells = <1>;
72
73          snoc_mm: interconnect-snoc {
74              compatible = "qcom,msm8939-snoc-mm";
75              #interconnect-cells = <1>;
76          };
77    };
78