qcom,sc8280xp-pas.yaml 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. # SPDX-License-Identifier: GPL-2.0 OR BSD-2-Clause
  2. %YAML 1.2
  3. ---
  4. $id: http://devicetree.org/schemas/remoteproc/qcom,sc8280xp-pas.yaml#
  5. $schema: http://devicetree.org/meta-schemas/core.yaml#
  6. title: Qualcomm SC8280XP Peripheral Authentication Service
  7. maintainers:
  8. - Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
  9. description:
  10. Qualcomm SC8280XP SoC Peripheral Authentication Service loads and boots
  11. firmware on the Qualcomm DSP Hexagon cores.
  12. properties:
  13. compatible:
  14. enum:
  15. - qcom,sc8280xp-adsp-pas
  16. - qcom,sc8280xp-nsp0-pas
  17. - qcom,sc8280xp-nsp1-pas
  18. reg:
  19. maxItems: 1
  20. clocks:
  21. items:
  22. - description: XO clock
  23. clock-names:
  24. items:
  25. - const: xo
  26. qcom,qmp:
  27. $ref: /schemas/types.yaml#/definitions/phandle
  28. description: Reference to the AOSS side-channel message RAM.
  29. smd-edge: false
  30. memory-region:
  31. maxItems: 1
  32. description: Reference to the reserved-memory for the Hexagon core
  33. firmware-name:
  34. $ref: /schemas/types.yaml#/definitions/string
  35. description: Firmware name for the Hexagon core
  36. required:
  37. - compatible
  38. - reg
  39. - memory-region
  40. allOf:
  41. - $ref: /schemas/remoteproc/qcom,pas-common.yaml#
  42. - if:
  43. properties:
  44. compatible:
  45. enum:
  46. - qcom,sc8280xp-nsp0-pas
  47. - qcom,sc8280xp-nsp1-pas
  48. then:
  49. properties:
  50. interrupts:
  51. maxItems: 5
  52. interrupt-names:
  53. maxItems: 5
  54. else:
  55. properties:
  56. interrupts:
  57. minItems: 6
  58. interrupt-names:
  59. minItems: 6
  60. - if:
  61. properties:
  62. compatible:
  63. enum:
  64. - qcom,sc8280xp-adsp-pas
  65. then:
  66. properties:
  67. power-domains:
  68. items:
  69. - description: LCX power domain
  70. - description: LMX power domain
  71. power-domain-names:
  72. items:
  73. - const: lcx
  74. - const: lmx
  75. else:
  76. properties:
  77. power-domains:
  78. items:
  79. - description: NSP power domain
  80. power-domain-names:
  81. items:
  82. - const: nsp
  83. unevaluatedProperties: false
  84. examples:
  85. - |
  86. #include <dt-bindings/clock/qcom,rpmh.h>
  87. #include <dt-bindings/interrupt-controller/arm-gic.h>
  88. #include <dt-bindings/interrupt-controller/irq.h>
  89. #include <dt-bindings/mailbox/qcom-ipcc.h>
  90. #include <dt-bindings/power/qcom-rpmpd.h>
  91. remoteproc@3000000 {
  92. compatible = "qcom,sc8280xp-adsp-pas";
  93. reg = <0x03000000 0x100>;
  94. clocks = <&rpmhcc RPMH_CXO_CLK>;
  95. clock-names = "xo";
  96. firmware-name = "qcom/sc8280xp/qcadsp8280.mbn";
  97. interrupts-extended = <&intc GIC_SPI 162 IRQ_TYPE_LEVEL_HIGH>,
  98. <&smp2p_adsp_in 0 IRQ_TYPE_EDGE_RISING>,
  99. <&smp2p_adsp_in 1 IRQ_TYPE_EDGE_RISING>,
  100. <&smp2p_adsp_in 2 IRQ_TYPE_EDGE_RISING>,
  101. <&smp2p_adsp_in 3 IRQ_TYPE_EDGE_RISING>,
  102. <&smp2p_adsp_in 7 IRQ_TYPE_EDGE_RISING>;
  103. interrupt-names = "wdog", "fatal", "ready",
  104. "handover", "stop-ack", "shutdown-ack";
  105. memory-region = <&pil_adsp_mem>;
  106. power-domains = <&rpmhpd SC8280XP_LCX>,
  107. <&rpmhpd SC8280XP_LMX>;
  108. power-domain-names = "lcx", "lmx";
  109. qcom,qmp = <&aoss_qmp>;
  110. qcom,smem-states = <&smp2p_adsp_out 0>;
  111. qcom,smem-state-names = "stop";
  112. glink-edge {
  113. interrupts-extended = <&ipcc IPCC_CLIENT_LPASS
  114. IPCC_MPROC_SIGNAL_GLINK_QMP
  115. IRQ_TYPE_EDGE_RISING>;
  116. mboxes = <&ipcc IPCC_CLIENT_LPASS
  117. IPCC_MPROC_SIGNAL_GLINK_QMP>;
  118. label = "lpass";
  119. qcom,remote-pid = <2>;
  120. /* ... */
  121. };
  122. };