interconnect.txt 2.7 KB

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