Kconfig 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162
  1. menu "Remoteproc drivers"
  2. config REMOTEPROC
  3. tristate "Support for Remote Processor subsystem"
  4. depends on HAS_DMA
  5. select CRC32
  6. select FW_LOADER
  7. select VIRTIO
  8. help
  9. Support for remote processors (such as DSP coprocessors). These
  10. are mainly used on embedded systems.
  11. if REMOTEPROC
  12. config OMAP_REMOTEPROC
  13. tristate "OMAP remoteproc support"
  14. depends on HAS_DMA
  15. depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX
  16. depends on OMAP_IOMMU
  17. select MAILBOX
  18. select OMAP2PLUS_MBOX
  19. select RPMSG_VIRTIO
  20. help
  21. Say y here to support OMAP's remote processors (dual M3
  22. and DSP on OMAP4) via the remote processor framework.
  23. Currently only supported on OMAP4.
  24. Usually you want to say Y here, in order to enable multimedia
  25. use-cases to run on your platform (multimedia codecs are
  26. offloaded to remote DSP processors using this framework).
  27. It's safe to say N here if you're not interested in multimedia
  28. offloading or just want a bare minimum kernel.
  29. config OMAP_REMOTEPROC_WATCHDOG
  30. bool "OMAP remoteproc watchdog timer"
  31. depends on OMAP_REMOTEPROC
  32. default n
  33. help
  34. Say Y here to enable watchdog timer for remote processors.
  35. This option controls the watchdog functionality for the remote
  36. processors in OMAP. Dedicated OMAP DMTimers are used by the remote
  37. processors and triggers the timer interrupt upon a watchdog
  38. detection.
  39. config WKUP_M3_RPROC
  40. tristate "AMx3xx Wakeup M3 remoteproc support"
  41. depends on SOC_AM33XX || SOC_AM43XX
  42. help
  43. Say y here to support Wakeup M3 remote processor on TI AM33xx
  44. and AM43xx family of SoCs.
  45. Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
  46. for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
  47. firmware onto these remote processors.
  48. If unsure say N.
  49. config DA8XX_REMOTEPROC
  50. tristate "DA8xx/OMAP-L13x remoteproc support"
  51. depends on ARCH_DAVINCI_DA8XX
  52. depends on DMA_CMA
  53. select RPMSG_VIRTIO
  54. help
  55. Say y here to support DA8xx/OMAP-L13x remote processors via the
  56. remote processor framework.
  57. You want to say y here in order to enable AMP
  58. use-cases to run on your platform (multimedia codecs are
  59. offloaded to remote DSP processors using this framework).
  60. This module controls the name of the firmware file that gets
  61. loaded on the DSP. This file must reside in the /lib/firmware
  62. directory. It can be specified via the module parameter
  63. da8xx_fw_name=<filename>, and if not specified will default to
  64. "rproc-dsp-fw".
  65. It's safe to say n here if you're not interested in multimedia
  66. offloading.
  67. config PRUSS_REMOTEPROC
  68. tristate "TI PRUSS remoteproc support"
  69. depends on HAS_DMA
  70. depends on SOC_AM33XX || SOC_AM43XX || SOC_DRA7XX || ARCH_KEYSTONE
  71. select MAILBOX
  72. select OMAP2PLUS_MBOX if ARCH_OMAP2PLUS
  73. select RPMSG_VIRTIO
  74. default n
  75. help
  76. Support for TI PRU-ICSS remote processors via the remote processor
  77. framework.
  78. Currently supported on AM33xx SoCs.
  79. Say Y or M here to support the Programmable Realtime Unit (PRU)
  80. processors on various TI SoCs. It's safe to say N here if you're
  81. not interested in the PRU or if you are unsure.
  82. config KEYSTONE_REMOTEPROC
  83. tristate "Keystone Remoteproc support"
  84. depends on ARCH_KEYSTONE
  85. depends on RESET_CONTROLLER
  86. depends on UIO
  87. select RPMSG_VIRTIO
  88. help
  89. Say Y here here to support Keystone remote processors (DSP)
  90. via the remote processor framework.
  91. It's safe to say N here if you're not interested in the Keystone
  92. DSPs or just want to use a bare minimum kernel.
  93. config QCOM_ADSP_PIL
  94. tristate "Qualcomm ADSP Peripheral Image Loader"
  95. depends on OF && ARCH_QCOM
  96. depends on QCOM_SMEM
  97. select MFD_SYSCON
  98. select QCOM_MDT_LOADER
  99. select QCOM_SCM
  100. help
  101. Say y here to support the TrustZone based Peripherial Image Loader
  102. for the Qualcomm ADSP remote processors.
  103. config QCOM_MDT_LOADER
  104. tristate
  105. config QCOM_Q6V5_PIL
  106. tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
  107. depends on OF && ARCH_QCOM
  108. depends on QCOM_SMEM
  109. select MFD_SYSCON
  110. select QCOM_MDT_LOADER
  111. select QCOM_SCM
  112. help
  113. Say y here to support the Qualcomm Peripherial Image Loader for the
  114. Hexagon V5 based remote processors.
  115. config QCOM_WCNSS_PIL
  116. tristate "Qualcomm WCNSS Peripheral Image Loader"
  117. depends on OF && ARCH_QCOM
  118. depends on QCOM_SMD || (COMPILE_TEST && QCOM_SMD=n)
  119. depends on QCOM_SMEM
  120. select QCOM_MDT_LOADER
  121. select QCOM_SCM
  122. help
  123. Say y here to support the Peripheral Image Loader for the Qualcomm
  124. Wireless Connectivity Subsystem.
  125. config ST_REMOTEPROC
  126. tristate "ST remoteproc support"
  127. depends on ARCH_STI
  128. help
  129. Say y here to support ST's adjunct processors via the remote
  130. processor framework.
  131. This can be either built-in or a loadable module.
  132. config ST_SLIM_REMOTEPROC
  133. tristate
  134. endif # REMOTEPROC
  135. endmenu