Merge tag 'block-6.13-20242901' of git://git.kernel.dk/linux
[drm/drm-misc.git] / Documentation / devicetree / bindings / interconnect / qcom,msm8953.yaml
blob343ff62d7b65be0e2a8548c2ea96dde459b5fa24
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#
7 title: Qualcomm MSM8953 Network-On-Chip interconnect
9 maintainers:
10   - Barnabas Czeman <barnabas.czeman@mainlining.org>
12 description: |
13   The Qualcomm MSM8953 interconnect providers support adjusting the
14   bandwidth requirements between the various NoC fabrics.
16   See also: include/dt-bindings/interconnect/qcom,msm8953.h
18 properties:
19   compatible:
20     enum:
21       - qcom,msm8953-bimc
22       - qcom,msm8953-pcnoc
23       - qcom,msm8953-snoc
25   reg:
26     maxItems: 1
28   clocks:
29     maxItems: 1
31   clock-names:
32     maxItems: 1
34   '#interconnect-cells':
35     const: 2
37 patternProperties:
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.
46     properties:
47       compatible:
48         const: qcom,msm8953-snoc-mm
50     required:
51       - compatible
52       - '#interconnect-cells'
54 required:
55   - compatible
56   - reg
57   - '#interconnect-cells'
59 allOf:
60   - $ref: qcom,rpm-common.yaml#
61   - if:
62       properties:
63         compatible:
64           const: qcom,msm8953-pcnoc
66     then:
67       properties:
68         clocks:
69           items:
70             - description: PCNOC USB3 AXI Clock.
72         clock-names:
73           const: pcnoc_usb3_axi
75       required:
76         - clocks
77         - clock-names
78     else:
79       properties:
80         clocks: false
81         clock-names: false
83 additionalProperties: false
85 examples:
86   - |
87       #include <dt-bindings/clock/qcom,gcc-msm8953.h>
89       snoc: interconnect@580000 {
90           compatible = "qcom,msm8953-snoc";
91           reg = <0x580000 0x16080>;
93           #interconnect-cells = <2>;
95           snoc_mm: interconnect-snoc {
96               compatible = "qcom,msm8953-snoc-mm";
98               #interconnect-cells = <2>;
99           };
100       };