Georgi Djakov | 06b3773 | 2019-01-16 18:10:57 +0200 | [diff] [blame] | 1 | Interconnect Provider Device Tree Bindings |
| 2 | ========================================= |
| 3 | |
| 4 | The purpose of this document is to define a common set of generic interconnect |
| 5 | providers/consumers properties. |
| 6 | |
| 7 | |
| 8 | = interconnect providers = |
| 9 | |
| 10 | The interconnect provider binding is intended to represent the interconnect |
| 11 | controllers in the system. Each provider registers a set of interconnect |
| 12 | nodes, which expose the interconnect related capabilities of the interconnect |
| 13 | to consumer drivers. These capabilities can be throughput, latency, priority |
| 14 | etc. The consumer drivers set constraints on interconnect path (or endpoints) |
| 15 | depending on the use case. Interconnect providers can also be interconnect |
| 16 | consumers, such as in the case where two network-on-chip fabrics interface |
| 17 | directly. |
| 18 | |
| 19 | Required 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 | |
| 24 | Example: |
| 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 | |
| 38 | The interconnect consumers are device nodes which dynamically express their |
| 39 | bandwidth requirements along interconnect paths they are connected to. There |
| 40 | can be multiple interconnect providers on a SoC and the consumer may consume |
| 41 | multiple paths from different providers depending on use case and the |
| 42 | components it has to interact with. |
| 43 | |
| 44 | Required properties: |
| 45 | interconnects : Pairs of phandles and interconnect provider specifier to denote |
| 46 | the edge source and destination ports of the interconnect path. |
| 47 | |
| 48 | Optional properties: |
| 49 | interconnect-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 | |
Maxime Ripard | c43a446 | 2019-04-01 10:56:41 +0200 | [diff] [blame^] | 54 | Reserved interconnect names: |
| 55 | * dma-mem: Path from the device to the main memory of |
| 56 | the system |
| 57 | |
Georgi Djakov | 06b3773 | 2019-01-16 18:10:57 +0200 | [diff] [blame] | 58 | Example: |
| 59 | |
| 60 | sdhci@7864000 { |
| 61 | ... |
| 62 | interconnects = <&pnoc MASTER_SDCC_1 &bimc SLAVE_EBI_CH0>; |
| 63 | interconnect-names = "sdhc-mem"; |
| 64 | }; |