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