xref: /freebsd/sys/contrib/device-tree/Bindings/interconnect/qcom,msm8939.yaml (revision b2d2a78ad80ec68d4a17f5aef97d21686cb1e29b)
184943d6fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
284943d6fSEmmanuel Vadot%YAML 1.2
384943d6fSEmmanuel Vadot---
484943d6fSEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,msm8939.yaml#
584943d6fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
684943d6fSEmmanuel Vadot
7*b2d2a78aSEmmanuel Vadottitle: Qualcomm MSM8937/MSM8939/MSM8976 Network-On-Chip interconnect
884943d6fSEmmanuel Vadot
984943d6fSEmmanuel Vadotmaintainers:
1084943d6fSEmmanuel Vadot  - Konrad Dybcio <konradybcio@kernel.org>
1184943d6fSEmmanuel Vadot
12*b2d2a78aSEmmanuel Vadotdescription:
13*b2d2a78aSEmmanuel Vadot  The Qualcomm MSM8937/MSM8939/MSM8976 interconnect providers support
14*b2d2a78aSEmmanuel Vadot  adjusting the bandwidth requirements between the various NoC fabrics.
1584943d6fSEmmanuel Vadot
1684943d6fSEmmanuel VadotallOf:
1784943d6fSEmmanuel Vadot  - $ref: qcom,rpm-common.yaml#
1884943d6fSEmmanuel Vadot
1984943d6fSEmmanuel Vadotproperties:
2084943d6fSEmmanuel Vadot  compatible:
2184943d6fSEmmanuel Vadot    enum:
22*b2d2a78aSEmmanuel Vadot      - qcom,msm8937-bimc
23*b2d2a78aSEmmanuel Vadot      - qcom,msm8937-pcnoc
24*b2d2a78aSEmmanuel Vadot      - qcom,msm8937-snoc
2584943d6fSEmmanuel Vadot      - qcom,msm8939-bimc
2684943d6fSEmmanuel Vadot      - qcom,msm8939-pcnoc
2784943d6fSEmmanuel Vadot      - qcom,msm8939-snoc
28*b2d2a78aSEmmanuel Vadot      - qcom,msm8976-bimc
29*b2d2a78aSEmmanuel Vadot      - qcom,msm8976-pcnoc
30*b2d2a78aSEmmanuel Vadot      - qcom,msm8976-snoc
3184943d6fSEmmanuel Vadot
3284943d6fSEmmanuel Vadot  reg:
3384943d6fSEmmanuel Vadot    maxItems: 1
3484943d6fSEmmanuel Vadot
3584943d6fSEmmanuel VadotpatternProperties:
3684943d6fSEmmanuel Vadot  '^interconnect-[a-z0-9\-]+$':
3784943d6fSEmmanuel Vadot    type: object
3884943d6fSEmmanuel Vadot    $ref: qcom,rpm-common.yaml#
3984943d6fSEmmanuel Vadot    description:
4084943d6fSEmmanuel Vadot      The interconnect providers do not have a separate QoS register space,
4184943d6fSEmmanuel Vadot      but share parent's space.
4284943d6fSEmmanuel Vadot
4384943d6fSEmmanuel Vadot    allOf:
4484943d6fSEmmanuel Vadot      - $ref: qcom,rpm-common.yaml#
4584943d6fSEmmanuel Vadot
4684943d6fSEmmanuel Vadot    properties:
4784943d6fSEmmanuel Vadot      compatible:
48*b2d2a78aSEmmanuel Vadot        enum:
49*b2d2a78aSEmmanuel Vadot          - qcom,msm8937-snoc-mm
50*b2d2a78aSEmmanuel Vadot          - qcom,msm8939-snoc-mm
51*b2d2a78aSEmmanuel Vadot          - qcom,msm8976-snoc-mm
5284943d6fSEmmanuel Vadot
5384943d6fSEmmanuel Vadot    required:
5484943d6fSEmmanuel Vadot      - compatible
5584943d6fSEmmanuel Vadot
5684943d6fSEmmanuel Vadot    unevaluatedProperties: false
5784943d6fSEmmanuel Vadot
5884943d6fSEmmanuel Vadotrequired:
5984943d6fSEmmanuel Vadot  - compatible
6084943d6fSEmmanuel Vadot  - reg
6184943d6fSEmmanuel Vadot
6284943d6fSEmmanuel VadotunevaluatedProperties: false
6384943d6fSEmmanuel Vadot
6484943d6fSEmmanuel Vadotexamples:
6584943d6fSEmmanuel Vadot  - |
6684943d6fSEmmanuel Vadot    #include <dt-bindings/clock/qcom,rpmcc.h>
6784943d6fSEmmanuel Vadot
6884943d6fSEmmanuel Vadot    snoc: interconnect@580000 {
6984943d6fSEmmanuel Vadot        compatible = "qcom,msm8939-snoc";
7084943d6fSEmmanuel Vadot        reg = <0x00580000 0x14000>;
7184943d6fSEmmanuel Vadot        #interconnect-cells = <1>;
7284943d6fSEmmanuel Vadot
7384943d6fSEmmanuel Vadot          snoc_mm: interconnect-snoc {
7484943d6fSEmmanuel Vadot              compatible = "qcom,msm8939-snoc-mm";
7584943d6fSEmmanuel Vadot              #interconnect-cells = <1>;
7684943d6fSEmmanuel Vadot          };
7784943d6fSEmmanuel Vadot    };
78