Kconfig 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. menu "Remoteproc drivers"
  3. config REMOTEPROC
  4. bool "Support for Remote Processor subsystem"
  5. depends on HAS_DMA
  6. select CRC32
  7. select FW_LOADER
  8. select VIRTIO
  9. select WANT_DEV_COREDUMP
  10. help
  11. Support for remote processors (such as DSP coprocessors). These
  12. are mainly used on embedded systems.
  13. if REMOTEPROC
  14. config IMX_REMOTEPROC
  15. tristate "IMX6/7 remoteproc support"
  16. depends on ARCH_MXC
  17. help
  18. Say y here to support iMX's remote processors (Cortex M4
  19. on iMX7D) via the remote processor framework.
  20. It's safe to say N here.
  21. config OMAP_REMOTEPROC
  22. tristate "OMAP remoteproc support"
  23. depends on ARCH_OMAP4 || SOC_OMAP5
  24. depends on OMAP_IOMMU
  25. select MAILBOX
  26. select OMAP2PLUS_MBOX
  27. help
  28. Say y here to support OMAP's remote processors (dual M3
  29. and DSP on OMAP4) via the remote processor framework.
  30. Currently only supported on OMAP4.
  31. Usually you want to say Y here, in order to enable multimedia
  32. use-cases to run on your platform (multimedia codecs are
  33. offloaded to remote DSP processors using this framework).
  34. It's safe to say N here if you're not interested in multimedia
  35. offloading or just want a bare minimum kernel.
  36. config WKUP_M3_RPROC
  37. tristate "AMx3xx Wakeup M3 remoteproc support"
  38. depends on SOC_AM33XX || SOC_AM43XX
  39. help
  40. Say y here to support Wakeup M3 remote processor on TI AM33xx
  41. and AM43xx family of SoCs.
  42. Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
  43. for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
  44. firmware onto these remote processors.
  45. If unsure say N.
  46. config DA8XX_REMOTEPROC
  47. tristate "DA8xx/OMAP-L13x remoteproc support"
  48. depends on ARCH_DAVINCI_DA8XX
  49. depends on DMA_CMA
  50. help
  51. Say y here to support DA8xx/OMAP-L13x remote processors via the
  52. remote processor framework.
  53. You want to say y here in order to enable AMP
  54. use-cases to run on your platform (multimedia codecs are
  55. offloaded to remote DSP processors using this framework).
  56. This module controls the name of the firmware file that gets
  57. loaded on the DSP. This file must reside in the /lib/firmware
  58. directory. It can be specified via the module parameter
  59. da8xx_fw_name=<filename>, and if not specified will default to
  60. "rproc-dsp-fw".
  61. It's safe to say n here if you're not interested in multimedia
  62. offloading.
  63. config KEYSTONE_REMOTEPROC
  64. tristate "Keystone Remoteproc support"
  65. depends on ARCH_KEYSTONE
  66. help
  67. Say Y here here to support Keystone remote processors (DSP)
  68. via the remote processor framework.
  69. It's safe to say N here if you're not interested in the Keystone
  70. DSPs or just want to use a bare minimum kernel.
  71. config QCOM_RPROC_COMMON
  72. tristate
  73. config QCOM_Q6V5_COMMON
  74. tristate
  75. depends on ARCH_QCOM
  76. depends on QCOM_SMEM
  77. config QCOM_Q6V5_ADSP
  78. tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
  79. depends on OF && ARCH_QCOM
  80. depends on QCOM_SMEM
  81. depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
  82. depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
  83. depends on QCOM_SYSMON || QCOM_SYSMON=n
  84. select MFD_SYSCON
  85. select QCOM_MDT_LOADER
  86. select QCOM_Q6V5_COMMON
  87. select QCOM_RPROC_COMMON
  88. help
  89. Say y here to support the Peripheral Image Loader
  90. for the Qualcomm Technology Inc. ADSP remote processors.
  91. config QCOM_Q6V5_MSS
  92. tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
  93. depends on OF && ARCH_QCOM
  94. depends on QCOM_SMEM
  95. depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
  96. depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
  97. depends on QCOM_SYSMON || QCOM_SYSMON=n
  98. select MFD_SYSCON
  99. select QCOM_MDT_LOADER
  100. select QCOM_Q6V5_COMMON
  101. select QCOM_RPROC_COMMON
  102. select QCOM_SCM
  103. help
  104. Say y here to support the Qualcomm self-authenticating modem
  105. subsystem based on Hexagon V5.
  106. config QCOM_Q6V5_PAS
  107. tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
  108. depends on OF && ARCH_QCOM
  109. depends on QCOM_SMEM
  110. depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
  111. depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
  112. depends on QCOM_SYSMON || QCOM_SYSMON=n
  113. select MFD_SYSCON
  114. select QCOM_MDT_LOADER
  115. select QCOM_Q6V5_COMMON
  116. select QCOM_RPROC_COMMON
  117. select QCOM_SCM
  118. help
  119. Say y here to support the TrustZone based Peripherial Image Loader
  120. for the Qualcomm Hexagon v5 based remote processors. This is commonly
  121. used to control subsystems such as ADSP, Compute and Sensor.
  122. config QCOM_Q6V5_WCSS
  123. tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
  124. depends on OF && ARCH_QCOM
  125. depends on QCOM_SMEM
  126. depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
  127. depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
  128. depends on QCOM_SYSMON || QCOM_SYSMON=n
  129. select MFD_SYSCON
  130. select QCOM_MDT_LOADER
  131. select QCOM_Q6V5_COMMON
  132. select QCOM_RPROC_COMMON
  133. select QCOM_SCM
  134. help
  135. Say y here to support the Qualcomm Peripheral Image Loader for the
  136. Hexagon V5 based WCSS remote processors.
  137. config QCOM_SYSMON
  138. tristate "Qualcomm sysmon driver"
  139. depends on RPMSG
  140. depends on ARCH_QCOM
  141. depends on NET
  142. select QCOM_QMI_HELPERS
  143. help
  144. The sysmon driver implements a sysmon QMI client and a handler for
  145. the sys_mon SMD and GLINK channel, which are used for graceful
  146. shutdown, retrieving failure information and propagating information
  147. about other subsystems being shut down.
  148. Say y here if your system runs firmware on any other subsystems, e.g.
  149. modem or DSP.
  150. config QCOM_WCNSS_PIL
  151. tristate "Qualcomm WCNSS Peripheral Image Loader"
  152. depends on OF && ARCH_QCOM
  153. depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
  154. depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
  155. depends on QCOM_SMEM
  156. depends on QCOM_SYSMON || QCOM_SYSMON=n
  157. select QCOM_MDT_LOADER
  158. select QCOM_RPROC_COMMON
  159. select QCOM_SCM
  160. help
  161. Say y here to support the Peripheral Image Loader for the Qualcomm
  162. Wireless Connectivity Subsystem.
  163. config ST_REMOTEPROC
  164. tristate "ST remoteproc support"
  165. depends on ARCH_STI
  166. select MAILBOX
  167. select STI_MBOX
  168. help
  169. Say y here to support ST's adjunct processors via the remote
  170. processor framework.
  171. This can be either built-in or a loadable module.
  172. config ST_SLIM_REMOTEPROC
  173. tristate
  174. config STM32_RPROC
  175. tristate "STM32 remoteproc support"
  176. depends on ARCH_STM32
  177. depends on REMOTEPROC
  178. select MAILBOX
  179. help
  180. Say y here to support STM32 MCU processors via the
  181. remote processor framework.
  182. You want to say y here in order to enable AMP
  183. use-cases to run on your platform (dedicated firmware could be
  184. offloaded to remote MCU processors using this framework).
  185. This can be either built-in or a loadable module.
  186. endif # REMOTEPROC
  187. endmenu