# SPDX-License-Identifier: GPL-2.0-only
menu "Remoteproc drivers"
config [31mCONFIG_REMOTEPROC[0m
bool "Support for Remote Processor subsystem"
depends on [31mCONFIG_HAS_DMA[0m
select [31mCONFIG_CRC32[0m
select [31mCONFIG_FW_LOADER[0m
select [31mCONFIG_VIRTIO[0m
select [31mCONFIG_WANT_DEV_COREDUMP[0m
help
Support for remote processors (such as DSP coprocessors). These
are mainly used on embedded systems.
if [31mCONFIG_REMOTEPROC[0m
config [31mCONFIG_IMX_REMOTEPROC[0m
tristate "IMX6/7 remoteproc support"
depends on [31mCONFIG_ARCH_MXC[0m
help
Say y here to support iMX's remote processors (Cortex M4
on iMX7D) via the remote processor framework.
It's safe to say N here.
config [31mCONFIG_OMAP_REMOTEPROC[0m
tristate "OMAP remoteproc support"
depends on [31mCONFIG_ARCH_OMAP4[0m || [31mCONFIG_SOC_OMAP5[0m
depends on [31mCONFIG_OMAP_IOMMU[0m
select [31mCONFIG_MAILBOX[0m
select [31mCONFIG_OMAP2PLUS_MBOX[0m
help
Say y here to support OMAP's remote processors (dual M3
and DSP on OMAP4) via the remote processor framework.
Currently only supported on OMAP4.
Usually you want to say Y here, in order to enable multimedia
use-cases to run on your platform (multimedia codecs are
offloaded to remote DSP processors using this framework).
It's safe to say N here if you're not interested in multimedia
offloading or just want a bare minimum kernel.
config [31mCONFIG_WKUP_M3_RPROC[0m
tristate "AMx3xx Wakeup M3 remoteproc support"
depends on [31mCONFIG_SOC_AM33XX[0m || [31mCONFIG_SOC_AM43XX[0m
help
Say y here to support Wakeup M3 remote processor on TI AM33xx
and AM43xx family of SoCs.
Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
firmware onto these remote processors.
If unsure say N.
config [31mCONFIG_DA8XX_REMOTEPROC[0m
tristate "DA8xx/OMAP-L13x remoteproc support"
depends on [31mCONFIG_ARCH_DAVINCI_DA8XX[0m
depends on [31mCONFIG_DMA_CMA[0m
help
Say y here to support DA8xx/OMAP-L13x remote processors via the
remote processor framework.
You want to say y here in order to enable AMP
use-cases to run on your platform (multimedia codecs are
offloaded to remote DSP processors using this framework).
This module controls the name of the firmware file that gets
loaded on the DSP. This file must reside in the /lib/firmware
directory. It can be specified via the module parameter
da8xx_fw_name=<filename>, and if not specified will default to
"rproc-dsp-fw".
It's safe to say n here if you're not interested in multimedia
offloading.
config [31mCONFIG_KEYSTONE_REMOTEPROC[0m
tristate "Keystone Remoteproc support"
depends on [31mCONFIG_ARCH_KEYSTONE[0m
help
Say Y here here to support Keystone remote processors (DSP)
via the remote processor framework.
It's safe to say N here if you're not interested in the Keystone
DSPs or just want to use a bare minimum kernel.
config [31mCONFIG_QCOM_RPROC_COMMON[0m
tristate
config [31mCONFIG_QCOM_Q6V5_COMMON[0m
tristate
depends on [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
config [31mCONFIG_QCOM_Q6V5_ADSP[0m
tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
depends on [31mCONFIG_RPMSG_QCOM_SMD[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG_QCOM_SMD[0m=n)
depends on [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m || [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m=n
depends on [31mCONFIG_QCOM_SYSMON[0m || [31mCONFIG_QCOM_SYSMON[0m=n
select [31mCONFIG_MFD_SYSCON[0m
select [31mCONFIG_QCOM_MDT_LOADER[0m
select [31mCONFIG_QCOM_Q6V5_COMMON[0m
select [31mCONFIG_QCOM_RPROC_COMMON[0m
help
Say y here to support the Peripheral Image Loader
for the Qualcomm Technology Inc. ADSP remote processors.
config [31mCONFIG_QCOM_Q6V5_MSS[0m
tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
depends on [31mCONFIG_RPMSG_QCOM_SMD[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG_QCOM_SMD[0m=n)
depends on [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m || [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m=n
depends on [31mCONFIG_QCOM_SYSMON[0m || [31mCONFIG_QCOM_SYSMON[0m=n
select [31mCONFIG_MFD_SYSCON[0m
select [31mCONFIG_QCOM_MDT_LOADER[0m
select [31mCONFIG_QCOM_Q6V5_COMMON[0m
select [31mCONFIG_QCOM_RPROC_COMMON[0m
select [31mCONFIG_QCOM_SCM[0m
help
Say y here to support the Qualcomm self-authenticating modem
subsystem based on Hexagon V5.
config [31mCONFIG_QCOM_Q6V5_PAS[0m
tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
depends on [31mCONFIG_RPMSG_QCOM_SMD[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG_QCOM_SMD[0m=n)
depends on [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m || [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m=n
depends on [31mCONFIG_QCOM_SYSMON[0m || [31mCONFIG_QCOM_SYSMON[0m=n
select [31mCONFIG_MFD_SYSCON[0m
select [31mCONFIG_QCOM_MDT_LOADER[0m
select [31mCONFIG_QCOM_Q6V5_COMMON[0m
select [31mCONFIG_QCOM_RPROC_COMMON[0m
select [31mCONFIG_QCOM_SCM[0m
help
Say y here to support the TrustZone based Peripherial Image Loader
for the Qualcomm Hexagon v5 based remote processors. This is commonly
used to control subsystems such as ADSP, Compute and Sensor.
config [31mCONFIG_QCOM_Q6V5_WCSS[0m
tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_QCOM_SMEM[0m
depends on [31mCONFIG_RPMSG_QCOM_SMD[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG_QCOM_SMD[0m=n)
depends on [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m || [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m=n
depends on [31mCONFIG_QCOM_SYSMON[0m || [31mCONFIG_QCOM_SYSMON[0m=n
select [31mCONFIG_MFD_SYSCON[0m
select [31mCONFIG_QCOM_MDT_LOADER[0m
select [31mCONFIG_QCOM_Q6V5_COMMON[0m
select [31mCONFIG_QCOM_RPROC_COMMON[0m
select [31mCONFIG_QCOM_SCM[0m
help
Say y here to support the Qualcomm Peripheral Image Loader for the
Hexagon V5 based WCSS remote processors.
config [31mCONFIG_QCOM_SYSMON[0m
tristate "Qualcomm sysmon driver"
depends on [31mCONFIG_RPMSG[0m
depends on [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_NET[0m
select [31mCONFIG_QCOM_QMI_HELPERS[0m
help
The sysmon driver implements a sysmon QMI client and a handler for
the sys_mon SMD and GLINK channel, which are used for graceful
shutdown, retrieving failure information and propagating information
about other subsystems being shut down.
Say y here if your system runs firmware on any other subsystems, e.g.
modem or DSP.
config [31mCONFIG_QCOM_WCNSS_PIL[0m
tristate "Qualcomm WCNSS Peripheral Image Loader"
depends on [31mCONFIG_OF[0m && [31mCONFIG_ARCH_QCOM[0m
depends on [31mCONFIG_RPMSG_QCOM_SMD[0m || ([31mCONFIG_COMPILE_TEST[0m && [31mCONFIG_RPMSG_QCOM_SMD[0m=n)
depends on [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m || [31mCONFIG_RPMSG_QCOM_GLINK_SMEM[0m=n
depends on [31mCONFIG_QCOM_SMEM[0m
depends on [31mCONFIG_QCOM_SYSMON[0m || [31mCONFIG_QCOM_SYSMON[0m=n
select [31mCONFIG_QCOM_MDT_LOADER[0m
select [31mCONFIG_QCOM_RPROC_COMMON[0m
select [31mCONFIG_QCOM_SCM[0m
help
Say y here to support the Peripheral Image Loader for the Qualcomm
Wireless Connectivity Subsystem.
config [31mCONFIG_ST_REMOTEPROC[0m
tristate "ST remoteproc support"
depends on [31mCONFIG_ARCH_STI[0m
select [31mCONFIG_MAILBOX[0m
select [31mCONFIG_STI_MBOX[0m
help
Say y here to support ST's adjunct processors via the remote
processor framework.
This can be either built-in or a loadable module.
config [31mCONFIG_ST_SLIM_REMOTEPROC[0m
tristate
config [31mCONFIG_STM32_RPROC[0m
tristate "STM32 remoteproc support"
depends on [31mCONFIG_ARCH_STM32[0m
depends on [31mCONFIG_REMOTEPROC[0m
select [31mCONFIG_MAILBOX[0m
help
Say y here to support STM32 MCU processors via the
remote processor framework.
You want to say y here in order to enable AMP
use-cases to run on your platform (dedicated firmware could be
offloaded to remote MCU processors using this framework).
This can be either built-in or a loadable module.
endif # [31mCONFIG_REMOTEPROC[0m
endmenu