1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,qcm2290.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm QCM2290 Network-On-Chip interconnect
8
9maintainers:
10  - Shawn Guo <shawn.guo@linaro.org>
11
12description: |
13  The Qualcomm QCM2290 interconnect providers support adjusting the
14  bandwidth requirements between the various NoC fabrics.
15
16allOf:
17  - $ref: qcom,rpm-common.yaml#
18
19properties:
20  reg:
21    maxItems: 1
22
23  compatible:
24    enum:
25      - qcom,qcm2290-bimc
26      - qcom,qcm2290-cnoc
27      - qcom,qcm2290-snoc
28
29# Child node's properties
30patternProperties:
31  '^interconnect-[a-z0-9]+$':
32    type: object
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        enum:
43          - qcom,qcm2290-qup-virt
44          - qcom,qcm2290-mmrt-virt
45          - qcom,qcm2290-mmnrt-virt
46
47    required:
48      - compatible
49
50    unevaluatedProperties: false
51
52required:
53  - compatible
54  - reg
55
56unevaluatedProperties: false
57
58examples:
59  - |
60    #include <dt-bindings/clock/qcom,rpmcc.h>
61
62    snoc: interconnect@1880000 {
63        compatible = "qcom,qcm2290-snoc";
64        reg = <0x01880000 0x60200>;
65        #interconnect-cells = <1>;
66
67        qup_virt: interconnect-qup {
68            compatible = "qcom,qcm2290-qup-virt";
69            #interconnect-cells = <1>;
70        };
71
72        mmnrt_virt: interconnect-mmnrt {
73            compatible = "qcom,qcm2290-mmnrt-virt";
74            #interconnect-cells = <1>;
75        };
76
77        mmrt_virt: interconnect-mmrt {
78            compatible = "qcom,qcm2290-mmrt-virt";
79            #interconnect-cells = <1>;
80        };
81    };
82
83    cnoc: interconnect@1900000 {
84        compatible = "qcom,qcm2290-cnoc";
85        reg = <0x01900000 0x8200>;
86        #interconnect-cells = <1>;
87    };
88
89    bimc: interconnect@4480000 {
90        compatible = "qcom,qcm2290-bimc";
91        reg = <0x04480000 0x80000>;
92        #interconnect-cells = <1>;
93    };
94