xref: /linux/Documentation/devicetree/bindings/interconnect/interconnect.txt (revision 355a47ae7ebcf9d605aa809b259d380422e81b8d)
1Interconnect Provider Device Tree Bindings
2=========================================
3
4The purpose of this document is to define a common set of generic interconnect
5providers/consumers properties.
6
7
8= interconnect providers =
9
10The interconnect provider binding is intended to represent the interconnect
11controllers in the system. Each provider registers a set of interconnect
12nodes, which expose the interconnect related capabilities of the interconnect
13to consumer drivers. These capabilities can be throughput, latency, priority
14etc. The consumer drivers set constraints on interconnect path (or endpoints)
15depending on the use case. Interconnect providers can also be interconnect
16consumers, such as in the case where two network-on-chip fabrics interface
17directly.
18
19Required properties:
20- compatible : contains the interconnect provider compatible string
21- #interconnect-cells : number of cells in a interconnect specifier needed to
22			encode the interconnect node id
23
24Example:
25
26		snoc: interconnect@580000 {
27			compatible = "qcom,msm8916-snoc";
28			#interconnect-cells = <1>;
29			reg = <0x580000 0x14000>;
30			clock-names = "bus_clk", "bus_a_clk";
31			clocks = <&rpmcc RPM_SMD_SNOC_CLK>,
32				 <&rpmcc RPM_SMD_SNOC_A_CLK>;
33		};
34
35
36= interconnect consumers =
37
38The interconnect consumers are device nodes which dynamically express their
39bandwidth requirements along interconnect paths they are connected to. There
40can be multiple interconnect providers on a SoC and the consumer may consume
41multiple paths from different providers depending on use case and the
42components it has to interact with.
43
44Required properties:
45interconnects : Pairs of phandles and interconnect provider specifier to denote
46	        the edge source and destination ports of the interconnect path.
47
48Optional properties:
49interconnect-names : List of interconnect path name strings sorted in the same
50		     order as the interconnects property. Consumers drivers will use
51		     interconnect-names to match interconnect paths with interconnect
52		     specifier pairs.
53
54                     Reserved interconnect names:
55			 * dma-mem: Path from the device to the main memory of
56			            the system
57
58Example:
59
60	sdhci@7864000 {
61		...
62		interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>;
63		interconnect-names = "sdhc-mem";
64	};
65