qcom,sm6115-pas.yaml 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  1. # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/remoteproc/qcom,sm6115-pas.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm SM6115 Peripheral Authentication Service
  7. maintainers:
  8. - Bhupesh Sharma <bhupesh.sharma@linaro.org>
  9. description:
  10. Qualcomm SM6115 SoC Peripheral Authentication Service loads and boots
  11. firmware on the Qualcomm DSP Hexagon cores.
  12. properties:
  13. compatible:
  14. oneOf:
  15. - enum:
  16. - qcom,sm6115-adsp-pas
  17. - qcom,sm6115-cdsp-pas
  18. - qcom,sm6115-mpss-pas
  19. - items:
  20. - const: qcom,qcm2290-adsp-pas
  21. - const: qcom,sm6115-adsp-pas
  22. - items:
  23. - const: qcom,qcm2290-mpss-pas
  24. - const: qcom,sm6115-mpss-pas
  25. reg:
  26. maxItems: 1
  27. clocks:
  28. items:
  29. - description: XO clock
  30. clock-names:
  31. items:
  32. - const: xo
  33. memory-region:
  34. maxItems: 1
  35. description: Reference to the reserved-memory for the Hexagon core
  36. smd-edge: false
  37. firmware-name:
  38. maxItems: 1
  39. description: Firmware name for the Hexagon core
  40. required:
  41. - compatible
  42. - reg
  43. - memory-region
  44. allOf:
  45. - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
  46. - if:
  47. properties:
  48. compatible:
  49. contains:
  50. enum:
  51. - qcom,sm6115-adsp-pas
  52. - qcom,sm6115-cdsp-pas
  53. then:
  54. properties:
  55. interrupts:
  56. maxItems: 5
  57. interrupt-names:
  58. maxItems: 5
  59. else:
  60. properties:
  61. interrupts:
  62. minItems: 6
  63. interrupt-names:
  64. minItems: 6
  65. - if:
  66. properties:
  67. compatible:
  68. contains:
  69. enum:
  70. - qcom,sm6115-cdsp-pas
  71. - qcom,sm6115-mpss-pas
  72. then:
  73. properties:
  74. power-domains:
  75. items:
  76. - description: CX power domain
  77. power-domain-names:
  78. items:
  79. - const: cx
  80. - if:
  81. properties:
  82. compatible:
  83. contains:
  84. enum:
  85. - qcom,sm6115-adsp-pas
  86. then:
  87. properties:
  88. power-domains:
  89. items:
  90. - description: LPI CX power domain
  91. - description: LPI MX power domain
  92. power-domain-names:
  93. items:
  94. - const: lcx
  95. - const: lmx
  96. unevaluatedProperties: false
  97. examples:
  98. - |
  99. #include <dt-bindings/clock/qcom,rpmcc.h>
  100. #include <dt-bindings/interrupt-controller/arm-gic.h>
  101. #include <dt-bindings/interrupt-controller/irq.h>
  102. #include <dt-bindings/power/qcom-rpmpd.h>
  103. remoteproc@ab00000 {
  104. compatible = "qcom,sm6115-adsp-pas";
  105. reg = <0x0ab00000 0x100>;
  106. clocks = <&rpmcc RPM_SMD_XO_CLK_SRC>;
  107. clock-names = "xo";
  108. firmware-name = "qcom/sm6115/adsp.mdt";
  109. interrupts-extended = <&intc GIC_SPI 282 IRQ_TYPE_EDGE_RISING>,
  110. <&adsp_smp2p_in 0 IRQ_TYPE_EDGE_RISING>,
  111. <&adsp_smp2p_in 1 IRQ_TYPE_EDGE_RISING>,
  112. <&adsp_smp2p_in 2 IRQ_TYPE_EDGE_RISING>,
  113. <&adsp_smp2p_in 3 IRQ_TYPE_EDGE_RISING>;
  114. interrupt-names = "wdog", "fatal", "ready",
  115. "handover", "stop-ack";
  116. memory-region = <&pil_adsp_mem>;
  117. power-domains = <&rpmpd SM6115_VDD_LPI_CX>,
  118. <&rpmpd SM6115_VDD_LPI_MX>;
  119. qcom,smem-states = <&adsp_smp2p_out 0>;
  120. qcom,smem-state-names = "stop";
  121. glink-edge {
  122. interrupts = <GIC_SPI 277 IRQ_TYPE_EDGE_RISING>;
  123. label = "lpass";
  124. qcom,remote-pid = <2>;
  125. mboxes = <&apcs_glb 8>;
  126. /* ... */
  127. };
  128. };