xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8953.yaml (revision 66e72a01b60ae6950ddbb3585fdc1424d303e14b)
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/interconnect/qcom,msm8953.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Qualcomm MSM8953 Network-On-Chip interconnect
8
9maintainers:
10  - Barnabas Czeman <barnabas.czeman@mainlining.org>
11
12description: |
13  The Qualcomm MSM8953 interconnect providers support adjusting the
14  bandwidth requirements between the various NoC fabrics.
15
16  See also:
17  - dt-bindings/interconnect/qcom,msm8953.h
18
19properties:
20  compatible:
21    enum:
22      - qcom,msm8953-bimc
23      - qcom,msm8953-pcnoc
24      - qcom,msm8953-snoc
25
26  reg:
27    maxItems: 1
28
29  clocks:
30    maxItems: 1
31
32  clock-names:
33    maxItems: 1
34
35  '#interconnect-cells':
36    const: 2
37
38patternProperties:
39  '^interconnect-[a-z0-9\-]+$':
40    type: object
41    $ref: qcom,rpm-common.yaml#
42    unevaluatedProperties: false
43    description:
44      The interconnect providers do not have a separate QoS register space,
45      but share parent's space.
46
47    properties:
48      compatible:
49        const: qcom,msm8953-snoc-mm
50
51    required:
52      - compatible
53      - '#interconnect-cells'
54
55required:
56  - compatible
57  - reg
58  - '#interconnect-cells'
59
60allOf:
61  - $ref: qcom,rpm-common.yaml#
62  - if:
63      properties:
64        compatible:
65          const: qcom,msm8953-pcnoc
66
67    then:
68      properties:
69        clocks:
70          items:
71            - description: PCNOC USB3 AXI Clock.
72
73        clock-names:
74          const: pcnoc_usb3_axi
75
76      required:
77        - clocks
78        - clock-names
79    else:
80      properties:
81        clocks: false
82        clock-names: false
83
84additionalProperties: false
85
86examples:
87  - |
88      #include <dt-bindings/clock/qcom,gcc-msm8953.h>
89
90      snoc: interconnect@580000 {
91          compatible = "qcom,msm8953-snoc";
92          reg = <0x580000 0x16080>;
93
94          #interconnect-cells = <2>;
95
96          snoc_mm: interconnect-snoc {
97              compatible = "qcom,msm8953-snoc-mm";
98
99              #interconnect-cells = <2>;
100          };
101      };
102