0001 Interconnect Provider Device Tree Bindings
0002 =========================================
0003
0004 The purpose of this document is to define a common set of generic interconnect
0005 providers/consumers properties.
0006
0007
0008 = interconnect providers =
0009
0010 The interconnect provider binding is intended to represent the interconnect
0011 controllers in the system. Each provider registers a set of interconnect
0012 nodes, which expose the interconnect related capabilities of the interconnect
0013 to consumer drivers. These capabilities can be throughput, latency, priority
0014 etc. The consumer drivers set constraints on interconnect path (or endpoints)
0015 depending on the use case. Interconnect providers can also be interconnect
0016 consumers, such as in the case where two network-on-chip fabrics interface
0017 directly.
0018
0019 Required properties:
0020 - compatible : contains the interconnect provider compatible string
0021 - #interconnect-cells : number of cells in a interconnect specifier needed to
0022 encode the interconnect node id and optionally add a
0023 path tag
0024
0025 Example:
0026
0027 snoc: interconnect@580000 {
0028 compatible = "qcom,msm8916-snoc";
0029 #interconnect-cells = <1>;
0030 reg = <0x580000 0x14000>;
0031 clock-names = "bus_clk", "bus_a_clk";
0032 clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
0033 <&rpmcc RPM_SMD_SNOC_A_CLK>;
0034 };
0035
0036
0037 = interconnect consumers =
0038
0039 The interconnect consumers are device nodes which dynamically express their
0040 bandwidth requirements along interconnect paths they are connected to. There
0041 can be multiple interconnect providers on a SoC and the consumer may consume
0042 multiple paths from different providers depending on use case and the
0043 components it has to interact with.
0044
0045 Required properties:
0046 interconnects : Pairs of phandles and interconnect provider specifier to denote
0047 the edge source and destination ports of the interconnect path.
0048 An optional path tag value could specified as additional argument
0049 to both endpoints and in such cases, this information will be passed
0050 to the interconnect framework to do aggregation based on the attached
0051 tag.
0052
0053 Optional properties:
0054 interconnect-names : List of interconnect path name strings sorted in the same
0055 order as the interconnects property. Consumers drivers will use
0056 interconnect-names to match interconnect paths with interconnect
0057 specifier pairs.
0058
0059 Reserved interconnect names:
0060 * dma-mem: Path from the device to the main memory of
0061 the system
0062
0063 Example:
0064
0065 sdhci@7864000 {
0066 ...
0067 interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>;
0068 interconnect-names = "sdhc-mem";
0069 };
0070
0071 Example with path tags:
0072
0073 gnoc: interconnect@17900000 {
0074 ...
0075 interconnect-cells = <2>;
0076 };
0077
0078 mnoc: interconnect@1380000 {
0079 ...
0080 interconnect-cells = <2>;
0081 };
0082
0083 cpu@0 {
0084 ...
0085 interconnects = <&gnoc MASTER_APPSS_PROC 3 &mnoc SLAVE_EBI1 3>;
0086 }