xref: /linux/Documentation/devicetree/bindings/interconnect/qcom,msm8953.yaml (revision 50b7e7082a3dde5bdba14a4e40a2e2279fd08a7b)
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    interconnect@580000 {
90        compatible = "qcom,msm8953-snoc";
91        reg = <0x580000 0x16080>;
92
93        #interconnect-cells = <2>;
94
95        interconnect-snoc {
96            compatible = "qcom,msm8953-snoc-mm";
97
98            #interconnect-cells = <2>;
99        };
100    };
101