Back to home page

OSCL-LXR

 
 

    


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         }