qcom,adsp.yaml 5.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223
  1. # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/remoteproc/qcom,adsp.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm ADSP Peripheral Image Loader
  7. maintainers:
  8. - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  9. description:
  10. This document defines the binding for a component that loads and boots
  11. firmware on the Qualcomm ADSP Hexagon core.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,msm8226-adsp-pil
  16. - qcom,msm8953-adsp-pil
  17. - qcom,msm8974-adsp-pil
  18. - qcom,msm8996-adsp-pil
  19. - qcom,msm8996-slpi-pil
  20. - qcom,msm8998-adsp-pas
  21. - qcom,msm8998-slpi-pas
  22. - qcom,sdm660-adsp-pas
  23. - qcom,sdm660-cdsp-pas
  24. - qcom,sdm845-adsp-pas
  25. - qcom,sdm845-cdsp-pas
  26. - qcom,sdm845-slpi-pas
  27. reg:
  28. maxItems: 1
  29. cx-supply: true
  30. px-supply:
  31. description: Phandle to the PX regulator
  32. qcom,qmp:
  33. $ref: /schemas/types.yaml#/definitions/phandle
  34. description: Reference to the AOSS side-channel message RAM.
  35. memory-region:
  36. maxItems: 1
  37. description: Reference to the reserved-memory for the Hexagon core
  38. firmware-name:
  39. maxItems: 1
  40. description: Firmware name for the Hexagon core
  41. required:
  42. - compatible
  43. - memory-region
  44. unevaluatedProperties: false
  45. allOf:
  46. - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
  47. - if:
  48. properties:
  49. compatible:
  50. contains:
  51. enum:
  52. - qcom,msm8226-adsp-pil
  53. - qcom,msm8953-adsp-pil
  54. - qcom,msm8974-adsp-pil
  55. - qcom,msm8996-adsp-pil
  56. - qcom,msm8996-slpi-pil
  57. - qcom,msm8998-adsp-pas
  58. - qcom,msm8998-slpi-pas
  59. - qcom,sdm660-adsp-pas
  60. - qcom,sdm660-cdsp-pas
  61. - qcom,sdm845-adsp-pas
  62. - qcom,sdm845-cdsp-pas
  63. - qcom,sdm845-slpi-pas
  64. then:
  65. properties:
  66. clocks:
  67. items:
  68. - description: XO clock
  69. clock-names:
  70. items:
  71. - const: xo
  72. - if:
  73. properties:
  74. compatible:
  75. contains:
  76. enum:
  77. - qcom,msm8226-adsp-pil
  78. - qcom,msm8953-adsp-pil
  79. - qcom,msm8974-adsp-pil
  80. - qcom,msm8996-adsp-pil
  81. - qcom,msm8996-slpi-pil
  82. - qcom,msm8998-adsp-pas
  83. - qcom,msm8998-slpi-pas
  84. - qcom,sdm660-adsp-pas
  85. - qcom,sdm660-cdsp-pas
  86. - qcom,sdm845-adsp-pas
  87. - qcom,sdm845-cdsp-pas
  88. - qcom,sdm845-slpi-pas
  89. then:
  90. properties:
  91. interrupts:
  92. maxItems: 5
  93. interrupt-names:
  94. maxItems: 5
  95. - if:
  96. properties:
  97. compatible:
  98. contains:
  99. enum:
  100. - qcom,msm8226-adsp-pil
  101. - qcom,msm8953-adsp-pil
  102. - qcom,msm8974-adsp-pil
  103. - qcom,msm8996-adsp-pil
  104. - qcom,msm8998-adsp-pas
  105. - qcom,sdm660-adsp-pas
  106. - qcom,sdm660-cdsp-pas
  107. then:
  108. properties:
  109. power-domains:
  110. items:
  111. - description: CX power domain
  112. power-domain-names:
  113. items:
  114. - const: cx
  115. - if:
  116. properties:
  117. compatible:
  118. contains:
  119. enum:
  120. - qcom,msm8996-slpi-pil
  121. - qcom,msm8998-slpi-pas
  122. then:
  123. properties:
  124. power-domains:
  125. items:
  126. - description: SSC-CX power domain
  127. power-domain-names:
  128. items:
  129. - const: ssc_cx
  130. required:
  131. - px-supply
  132. - if:
  133. properties:
  134. compatible:
  135. enum:
  136. - qcom,sdm845-slpi-pas
  137. then:
  138. properties:
  139. power-domains:
  140. items:
  141. - description: LCX power domain
  142. - description: LMX power domain
  143. power-domain-names:
  144. items:
  145. - const: lcx
  146. - const: lmx
  147. else:
  148. properties:
  149. cx-supply: false
  150. - if:
  151. properties:
  152. compatible:
  153. contains:
  154. enum:
  155. - qcom,msm8226-adsp-pil
  156. - qcom,msm8953-adsp-pil
  157. - qcom,msm8974-adsp-pil
  158. - qcom,msm8996-adsp-pil
  159. - qcom,msm8996-slpi-pil
  160. - qcom,msm8998-adsp-pas
  161. - qcom,msm8998-slpi-pas
  162. - qcom,sdm660-adsp-pas
  163. - qcom,sdm660-cdsp-pas
  164. then:
  165. properties:
  166. qcom,qmp: false
  167. examples:
  168. - |
  169. #include <dt-bindings/clock/qcom,rpmcc.h>
  170. #include <dt-bindings/interrupt-controller/arm-gic.h>
  171. #include <dt-bindings/interrupt-controller/irq.h>
  172. #include <dt-bindings/power/qcom-rpmpd.h>
  173. adsp {
  174. compatible = "qcom,msm8974-adsp-pil";
  175. interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_EDGE_RISING>,
  176. <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  177. <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  178. <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  179. <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  180. interrupt-names = "wdog",
  181. "fatal",
  182. "ready",
  183. "handover",
  184. "stop-ack";
  185. clocks = <&rpmcc RPM_CXO_CLK>;
  186. clock-names = "xo";
  187. power-domains = <&rpmpd MSM8974_VDDCX>;
  188. power-domain-names = "cx";
  189. memory-region = <&adsp_region>;
  190. qcom,smem-states = <&adsp_smp2p_out 0>;
  191. qcom,smem-state-names = "stop";
  192. smd-edge {
  193. interrupts = <GIC_SPI 156 IRQ_TYPE_EDGE_RISING>;
  194. qcom,ipc = <&apcs 8 8>;
  195. qcom,smd-edge = <1>;
  196. };
  197. };