qcom,adsp.txt 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134
  1. Qualcomm ADSP Peripheral Image Loader
  2. This document defines the binding for a component that loads and boots firmware
  3. on the Qualcomm ADSP Hexagon core.
  4. - compatible:
  5. Usage: required
  6. Value type: <string>
  7. Definition: must be one of:
  8. "qcom,msm8974-adsp-pil"
  9. "qcom,msm8996-adsp-pil"
  10. "qcom,msm8996-slpi-pil"
  11. - interrupts-extended:
  12. Usage: required
  13. Value type: <prop-encoded-array>
  14. Definition: must list the watchdog, fatal IRQs ready, handover and
  15. stop-ack IRQs
  16. - interrupt-names:
  17. Usage: required
  18. Value type: <stringlist>
  19. Definition: must be "wdog", "fatal", "ready", "handover", "stop-ack"
  20. - clocks:
  21. Usage: required
  22. Value type: <prop-encoded-array>
  23. Definition: reference to the xo clock and optionally aggre2 clock to be
  24. held on behalf of the booting Hexagon core
  25. - clock-names:
  26. Usage: required
  27. Value type: <stringlist>
  28. Definition: must be "xo" and optionally include "aggre2"
  29. - cx-supply:
  30. Usage: required
  31. Value type: <phandle>
  32. Definition: reference to the regulator to be held on behalf of the
  33. booting Hexagon core
  34. - px-supply:
  35. Usage: required
  36. Value type: <phandle>
  37. Definition: reference to the px regulator to be held on behalf of the
  38. booting Hexagon core
  39. - memory-region:
  40. Usage: required
  41. Value type: <phandle>
  42. Definition: reference to the reserved-memory for the ADSP
  43. - qcom,smem-states:
  44. Usage: required
  45. Value type: <phandle>
  46. Definition: reference to the smem state for requesting the ADSP to
  47. shut down
  48. - qcom,smem-state-names:
  49. Usage: required
  50. Value type: <stringlist>
  51. Definition: must be "stop"
  52. = SUBNODES
  53. The adsp node may have an subnode named either "smd-edge" or "glink-edge" that
  54. describes the communication edge, channels and devices related to the ADSP.
  55. See ../soc/qcom/qcom,smd.txt and ../soc/qcom/qcom,glink.txt for details on how
  56. to describe these.
  57. = EXAMPLE
  58. The following example describes the resources needed to boot control the
  59. ADSP, as it is found on MSM8974 boards.
  60. adsp {
  61. compatible = "qcom,msm8974-adsp-pil";
  62. interrupts-extended = <&intc 0 162 IRQ_TYPE_EDGE_RISING>,
  63. <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  64. <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  65. <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  66. <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  67. interrupt-names = "wdog",
  68. "fatal",
  69. "ready",
  70. "handover",
  71. "stop-ack";
  72. clocks = <&rpmcc RPM_CXO_CLK>;
  73. clock-names = "xo";
  74. cx-supply = <&pm8841_s2>;
  75. memory-region = <&adsp_region>;
  76. qcom,smem-states = <&adsp_smp2p_out 0>;
  77. qcom,smem-state-names = "stop";
  78. smd-edge {
  79. interrupts = <0 156 IRQ_TYPE_EDGE_RISING>;
  80. qcom,ipc = <&apcs 8 8>;
  81. qcom,smd-edge = <1>;
  82. };
  83. };
  84. The following example describes the resources needed to boot control the
  85. SLPI, as it is found on MSM8996 boards.
  86. slpi {
  87. compatible = "qcom,msm8996-slpi-pil";
  88. interrupts-extended = <&intc 0 390 IRQ_TYPE_EDGE_RISING>,
  89. <&slpi_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  90. <&slpi_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  91. <&slpi_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  92. <&slpi_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  93. interrupt-names = "wdog",
  94. "fatal",
  95. "ready",
  96. "handover",
  97. "stop-ack";
  98. clocks = <&rpmcc MSM8996_RPM_SMD_XO_CLK_SRC>,
  99. <&rpmcc MSM8996_RPM_SMD_AGGR2_NOC_CLK>;
  100. clock-names = "xo", "aggre2";
  101. cx-supply = <&pm8994_l26>;
  102. px-supply = <&pm8994_lvs2>;
  103. memory-region = <&slpi_region>;
  104. qcom,smem-states = <&slpi_smp2p_out 0>;
  105. qcom,smem-state-names = "stop";
  106. };