xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8953.yaml (revision 566ab427f827b0256d3e8ce0235d088e6a9c28bd)
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: include/dt-bindings/interconnect/qcom,msm8953.h
17
18properties:
19  compatible:
20    enum:
21      - qcom,msm8953-bimc
22      - qcom,msm8953-pcnoc
23      - qcom,msm8953-snoc
24
25  reg:
26    maxItems: 1
27
28  clocks:
29    maxItems: 1
30
31  clock-names:
32    maxItems: 1
33
34  '#interconnect-cells':
35    const: 2
36
37patternProperties:
38  '^interconnect-[a-z0-9\-]+$':
39    type: object
40    $ref: qcom,rpm-common.yaml#
41    unevaluatedProperties: false
42    description:
43      The interconnect providers do not have a separate QoS register space,
44      but share parent's space.
45
46    properties:
47      compatible:
48        const: qcom,msm8953-snoc-mm
49
50    required:
51      - compatible
52      - '#interconnect-cells'
53
54required:
55  - compatible
56  - reg
57  - '#interconnect-cells'
58
59allOf:
60  - $ref: qcom,rpm-common.yaml#
61  - if:
62      properties:
63        compatible:
64          const: qcom,msm8953-pcnoc
65
66    then:
67      properties:
68        clocks:
69          items:
70            - description: PCNOC USB3 AXI Clock.
71
72        clock-names:
73          const: pcnoc_usb3_axi
74
75      required:
76        - clocks
77        - clock-names
78    else:
79      properties:
80        clocks: false
81        clock-names: false
82
83additionalProperties: false
84
85examples:
86  - |
87      #include <dt-bindings/clock/qcom,gcc-msm8953.h>
88
89      snoc: interconnect@580000 {
90          compatible = "qcom,msm8953-snoc";
91          reg = <0x580000 0x16080>;
92
93          #interconnect-cells = <2>;
94
95          snoc_mm: interconnect-snoc {
96              compatible = "qcom,msm8953-snoc-mm";
97
98              #interconnect-cells = <2>;
99          };
100      };
101