1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Remoteproc drivers"
5 bool "Support for Remote Processor subsystem"
10 select WANT_DEV_COREDUMP
12 Support for remote processors (such as DSP coprocessors). These
13 are mainly used on embedded systems.
18 tristate "IMX6/7 remoteproc support"
21 Say y here to support iMX's remote processors (Cortex M4
22 on iMX7D) via the remote processor framework.
24 It's safe to say N here.
27 tristate "Mediatek SCP support"
28 depends on ARCH_MEDIATEK
31 Say y here to support Mediatek's System Companion Processor (SCP) via
32 the remote processor framework.
34 It's safe to say N here.
36 config OMAP_REMOTEPROC
37 tristate "OMAP remoteproc support"
38 depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX
43 Say y here to support OMAP's remote processors (dual M3
44 and DSP on OMAP4) via the remote processor framework.
46 Currently only supported on OMAP4.
48 Usually you want to say Y here, in order to enable multimedia
49 use-cases to run on your platform (multimedia codecs are
50 offloaded to remote DSP processors using this framework).
52 It's safe to say N here if you're not interested in multimedia
53 offloading or just want a bare minimum kernel.
55 config OMAP_REMOTEPROC_WATCHDOG
56 bool "OMAP remoteproc watchdog timer"
57 depends on OMAP_REMOTEPROC
60 Say Y here to enable watchdog timer for remote processors.
62 This option controls the watchdog functionality for the remote
63 processors in OMAP. Dedicated OMAP DMTimers are used by the remote
64 processors and triggers the timer interrupt upon a watchdog
68 tristate "AMx3xx Wakeup M3 remoteproc support"
69 depends on SOC_AM33XX || SOC_AM43XX
71 Say y here to support Wakeup M3 remote processor on TI AM33xx
72 and AM43xx family of SoCs.
74 Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
75 for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
76 firmware onto these remote processors.
79 config DA8XX_REMOTEPROC
80 tristate "DA8xx/OMAP-L13x remoteproc support"
81 depends on ARCH_DAVINCI_DA8XX
84 Say y here to support DA8xx/OMAP-L13x remote processors via the
85 remote processor framework.
87 You want to say y here in order to enable AMP
88 use-cases to run on your platform (multimedia codecs are
89 offloaded to remote DSP processors using this framework).
91 This module controls the name of the firmware file that gets
92 loaded on the DSP. This file must reside in the /lib/firmware
93 directory. It can be specified via the module parameter
94 da8xx_fw_name=<filename>, and if not specified will default to
97 It's safe to say n here if you're not interested in multimedia
100 config KEYSTONE_REMOTEPROC
101 tristate "Keystone Remoteproc support"
102 depends on ARCH_KEYSTONE
104 Say Y here here to support Keystone remote processors (DSP)
105 via the remote processor framework.
107 It's safe to say N here if you're not interested in the Keystone
108 DSPs or just want to use a bare minimum kernel.
110 config QCOM_RPROC_COMMON
113 config QCOM_Q6V5_COMMON
118 config QCOM_Q6V5_ADSP
119 tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
120 depends on OF && ARCH_QCOM
122 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
123 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
124 depends on QCOM_SYSMON || QCOM_SYSMON=n
126 select QCOM_MDT_LOADER
127 select QCOM_Q6V5_COMMON
128 select QCOM_RPROC_COMMON
130 Say y here to support the Peripheral Image Loader
131 for the Qualcomm Technology Inc. ADSP remote processors.
134 tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
135 depends on OF && ARCH_QCOM
137 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
138 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
139 depends on QCOM_SYSMON || QCOM_SYSMON=n
141 select QCOM_MDT_LOADER
142 select QCOM_Q6V5_COMMON
143 select QCOM_Q6V5_IPA_NOTIFY
144 select QCOM_RPROC_COMMON
147 Say y here to support the Qualcomm self-authenticating modem
148 subsystem based on Hexagon V5.
151 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
152 depends on OF && ARCH_QCOM
154 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
155 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
156 depends on QCOM_SYSMON || QCOM_SYSMON=n
158 select QCOM_MDT_LOADER
159 select QCOM_Q6V5_COMMON
160 select QCOM_RPROC_COMMON
163 Say y here to support the TrustZone based Peripherial Image Loader
164 for the Qualcomm Hexagon v5 based remote processors. This is commonly
165 used to control subsystems such as ADSP, Compute and Sensor.
167 config QCOM_Q6V5_WCSS
168 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
169 depends on OF && ARCH_QCOM
171 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
172 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
173 depends on QCOM_SYSMON || QCOM_SYSMON=n
175 select QCOM_MDT_LOADER
176 select QCOM_Q6V5_COMMON
177 select QCOM_RPROC_COMMON
180 Say y here to support the Qualcomm Peripheral Image Loader for the
181 Hexagon V5 based WCSS remote processors.
183 config QCOM_Q6V5_IPA_NOTIFY
187 tristate "Qualcomm sysmon driver"
191 select QCOM_QMI_HELPERS
193 The sysmon driver implements a sysmon QMI client and a handler for
194 the sys_mon SMD and GLINK channel, which are used for graceful
195 shutdown, retrieving failure information and propagating information
196 about other subsystems being shut down.
198 Say y here if your system runs firmware on any other subsystems, e.g.
201 config QCOM_WCNSS_PIL
202 tristate "Qualcomm WCNSS Peripheral Image Loader"
203 depends on OF && ARCH_QCOM
204 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
205 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
207 depends on QCOM_SYSMON || QCOM_SYSMON=n
208 select QCOM_MDT_LOADER
209 select QCOM_RPROC_COMMON
212 Say y here to support the Peripheral Image Loader for the Qualcomm
213 Wireless Connectivity Subsystem.
216 tristate "ST remoteproc support"
221 Say y here to support ST's adjunct processors via the remote
223 This can be either built-in or a loadable module.
225 config ST_SLIM_REMOTEPROC
229 tristate "STM32 remoteproc support"
230 depends on ARCH_STM32
231 depends on REMOTEPROC
234 Say y here to support STM32 MCU processors via the
235 remote processor framework.
237 You want to say y here in order to enable AMP
238 use-cases to run on your platform (dedicated firmware could be
239 offloaded to remote MCU processors using this framework).
241 This can be either built-in or a loadable module.