qcom,sm8650-rpmh.yaml 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/interconnect/qcom,sm8650-rpmh.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm RPMh Network-On-Chip Interconnect on SM8650
  7. maintainers:
  8. - Abel Vesa <abel.vesa@linaro.org>
  9. - Neil Armstrong <neil.armstrong@linaro.org>
  10. description: |
  11. RPMh interconnect providers support system bandwidth requirements through
  12. RPMh hardware accelerators known as Bus Clock Manager (BCM). The provider is
  13. able to communicate with the BCM through the Resource State Coordinator (RSC)
  14. associated with each execution environment. Provider nodes must point to at
  15. least one RPMh device child node pertaining to their RSC and each provider
  16. can map to multiple RPMh resources.
  17. See also:: include/dt-bindings/interconnect/qcom,sm8650-rpmh.h
  18. properties:
  19. compatible:
  20. enum:
  21. - qcom,sm8650-aggre1-noc
  22. - qcom,sm8650-aggre2-noc
  23. - qcom,sm8650-clk-virt
  24. - qcom,sm8650-cnoc-main
  25. - qcom,sm8650-config-noc
  26. - qcom,sm8650-gem-noc
  27. - qcom,sm8650-lpass-ag-noc
  28. - qcom,sm8650-lpass-lpiaon-noc
  29. - qcom,sm8650-lpass-lpicx-noc
  30. - qcom,sm8650-mc-virt
  31. - qcom,sm8650-mmss-noc
  32. - qcom,sm8650-nsp-noc
  33. - qcom,sm8650-pcie-anoc
  34. - qcom,sm8650-system-noc
  35. reg:
  36. maxItems: 1
  37. clocks:
  38. minItems: 1
  39. maxItems: 2
  40. required:
  41. - compatible
  42. allOf:
  43. - $ref: qcom,rpmh-common.yaml#
  44. - if:
  45. properties:
  46. compatible:
  47. contains:
  48. enum:
  49. - qcom,sm8650-clk-virt
  50. - qcom,sm8650-mc-virt
  51. then:
  52. properties:
  53. reg: false
  54. else:
  55. required:
  56. - reg
  57. - if:
  58. properties:
  59. compatible:
  60. contains:
  61. enum:
  62. - qcom,sm8650-pcie-anoc
  63. then:
  64. properties:
  65. clocks:
  66. items:
  67. - description: aggre-NOC PCIe AXI clock
  68. - description: cfg-NOC PCIe a-NOC AHB clock
  69. - if:
  70. properties:
  71. compatible:
  72. contains:
  73. enum:
  74. - qcom,sm8650-aggre1-noc
  75. then:
  76. properties:
  77. clocks:
  78. items:
  79. - description: aggre UFS PHY AXI clock
  80. - description: aggre USB3 PRIM AXI clock
  81. - if:
  82. properties:
  83. compatible:
  84. contains:
  85. enum:
  86. - qcom,sm8650-aggre2-noc
  87. then:
  88. properties:
  89. clocks:
  90. items:
  91. - description: RPMH CC IPA clock
  92. - if:
  93. properties:
  94. compatible:
  95. contains:
  96. enum:
  97. - qcom,sm8650-aggre1-noc
  98. - qcom,sm8650-aggre2-noc
  99. - qcom,sm8650-pcie-anoc
  100. then:
  101. required:
  102. - clocks
  103. else:
  104. properties:
  105. clocks: false
  106. unevaluatedProperties: false
  107. examples:
  108. - |
  109. clk_virt: interconnect-0 {
  110. compatible = "qcom,sm8650-clk-virt";
  111. #interconnect-cells = <2>;
  112. qcom,bcm-voters = <&apps_bcm_voter>;
  113. };
  114. aggre1_noc: interconnect@16e0000 {
  115. compatible = "qcom,sm8650-aggre1-noc";
  116. reg = <0x016e0000 0x14400>;
  117. #interconnect-cells = <2>;
  118. clocks = <&gcc_phy_axi_clk>, <&gcc_prim_axi_clk>;
  119. qcom,bcm-voters = <&apps_bcm_voter>;
  120. };