xref: /freebsd-src/sys/contrib/device-tree/Bindings/interconnect/qcom,sc7180.yaml (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2*c66ec88fSEmmanuel Vadot%YAML 1.2
3*c66ec88fSEmmanuel Vadot---
4*c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/interconnect/qcom,sc7180.yaml#
5*c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6*c66ec88fSEmmanuel Vadot
7*c66ec88fSEmmanuel Vadottitle: Qualcomm SC7180 Network-On-Chip Interconnect
8*c66ec88fSEmmanuel Vadot
9*c66ec88fSEmmanuel Vadotmaintainers:
10*c66ec88fSEmmanuel Vadot  - Odelu Kukatla <okukatla@codeaurora.org>
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel Vadotdescription: |
13*c66ec88fSEmmanuel Vadot   SC7180 interconnect providers support system bandwidth requirements through
14*c66ec88fSEmmanuel Vadot   RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
15*c66ec88fSEmmanuel Vadot   able to communicate with the BCM through the Resource State Coordinator (RSC)
16*c66ec88fSEmmanuel Vadot   associated with each execution environment. Provider nodes must point to at
17*c66ec88fSEmmanuel Vadot   least one RPMh device child node pertaining to their RSC and each provider
18*c66ec88fSEmmanuel Vadot   can map to multiple RPMh resources.
19*c66ec88fSEmmanuel Vadot
20*c66ec88fSEmmanuel Vadotproperties:
21*c66ec88fSEmmanuel Vadot  reg:
22*c66ec88fSEmmanuel Vadot    maxItems: 1
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel Vadot  compatible:
25*c66ec88fSEmmanuel Vadot    enum:
26*c66ec88fSEmmanuel Vadot      - qcom,sc7180-aggre1-noc
27*c66ec88fSEmmanuel Vadot      - qcom,sc7180-aggre2-noc
28*c66ec88fSEmmanuel Vadot      - qcom,sc7180-camnoc-virt
29*c66ec88fSEmmanuel Vadot      - qcom,sc7180-compute-noc
30*c66ec88fSEmmanuel Vadot      - qcom,sc7180-config-noc
31*c66ec88fSEmmanuel Vadot      - qcom,sc7180-dc-noc
32*c66ec88fSEmmanuel Vadot      - qcom,sc7180-gem-noc
33*c66ec88fSEmmanuel Vadot      - qcom,sc7180-ipa-virt
34*c66ec88fSEmmanuel Vadot      - qcom,sc7180-mc-virt
35*c66ec88fSEmmanuel Vadot      - qcom,sc7180-mmss-noc
36*c66ec88fSEmmanuel Vadot      - qcom,sc7180-npu-noc
37*c66ec88fSEmmanuel Vadot      - qcom,sc7180-qup-virt
38*c66ec88fSEmmanuel Vadot      - qcom,sc7180-system-noc
39*c66ec88fSEmmanuel Vadot
40*c66ec88fSEmmanuel Vadot  '#interconnect-cells':
41*c66ec88fSEmmanuel Vadot    const: 1
42*c66ec88fSEmmanuel Vadot
43*c66ec88fSEmmanuel Vadot  qcom,bcm-voters:
44*c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle-array
45*c66ec88fSEmmanuel Vadot    description: |
46*c66ec88fSEmmanuel Vadot      List of phandles to qcom,bcm-voter nodes that are required by
47*c66ec88fSEmmanuel Vadot      this interconnect to send RPMh commands.
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadot  qcom,bcm-voter-names:
50*c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/string-array
51*c66ec88fSEmmanuel Vadot    description: |
52*c66ec88fSEmmanuel Vadot      Names for each of the qcom,bcm-voters specified.
53*c66ec88fSEmmanuel Vadot
54*c66ec88fSEmmanuel Vadotrequired:
55*c66ec88fSEmmanuel Vadot  - compatible
56*c66ec88fSEmmanuel Vadot  - reg
57*c66ec88fSEmmanuel Vadot  - '#interconnect-cells'
58*c66ec88fSEmmanuel Vadot  - qcom,bcm-voters
59*c66ec88fSEmmanuel Vadot
60*c66ec88fSEmmanuel VadotadditionalProperties: false
61*c66ec88fSEmmanuel Vadot
62*c66ec88fSEmmanuel Vadotexamples:
63*c66ec88fSEmmanuel Vadot  - |
64*c66ec88fSEmmanuel Vadot      #include <dt-bindings/interconnect/qcom,sc7180.h>
65*c66ec88fSEmmanuel Vadot
66*c66ec88fSEmmanuel Vadot      config_noc: interconnect@1500000 {
67*c66ec88fSEmmanuel Vadot            compatible = "qcom,sc7180-config-noc";
68*c66ec88fSEmmanuel Vadot            reg = <0x01500000 0x28000>;
69*c66ec88fSEmmanuel Vadot            #interconnect-cells = <1>;
70*c66ec88fSEmmanuel Vadot            qcom,bcm-voters = <&apps_bcm_voter>;
71*c66ec88fSEmmanuel Vadot      };
72*c66ec88fSEmmanuel Vadot
73*c66ec88fSEmmanuel Vadot      system_noc: interconnect@1620000 {
74*c66ec88fSEmmanuel Vadot            compatible = "qcom,sc7180-system-noc";
75*c66ec88fSEmmanuel Vadot            reg = <0x01620000 0x17080>;
76*c66ec88fSEmmanuel Vadot            #interconnect-cells = <1>;
77*c66ec88fSEmmanuel Vadot            qcom,bcm-voters = <&apps_bcm_voter>;
78*c66ec88fSEmmanuel Vadot      };
79*c66ec88fSEmmanuel Vadot
80*c66ec88fSEmmanuel Vadot      mmss_noc: interconnect@1740000 {
81*c66ec88fSEmmanuel Vadot            compatible = "qcom,sc7180-mmss-noc";
82*c66ec88fSEmmanuel Vadot            reg = <0x01740000 0x1c100>;
83*c66ec88fSEmmanuel Vadot            #interconnect-cells = <1>;
84*c66ec88fSEmmanuel Vadot            qcom,bcm-voters = <&apps_bcm_voter>;
85*c66ec88fSEmmanuel Vadot      };
86