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.
26 config INGENIC_VPU_RPROC
27 tristate "Ingenic JZ47xx VPU remoteproc support"
28 depends on MIPS || COMPILE_TEST
30 Say y or m here to support the VPU in the JZ47xx SoCs from Ingenic.
32 This can be either built-in or a loadable module.
36 tristate "Mediatek SCP support"
37 depends on ARCH_MEDIATEK
40 Say y here to support Mediatek's System Companion Processor (SCP) via
41 the remote processor framework.
43 It's safe to say N here.
45 config OMAP_REMOTEPROC
46 tristate "OMAP remoteproc support"
47 depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX
52 Say y here to support OMAP's remote processors (dual M3
53 and DSP on OMAP4) via the remote processor framework.
55 Currently only supported on OMAP4.
57 Usually you want to say Y here, in order to enable multimedia
58 use-cases to run on your platform (multimedia codecs are
59 offloaded to remote DSP processors using this framework).
61 It's safe to say N here if you're not interested in multimedia
62 offloading or just want a bare minimum kernel.
64 config OMAP_REMOTEPROC_WATCHDOG
65 bool "OMAP remoteproc watchdog timer"
66 depends on OMAP_REMOTEPROC
69 Say Y here to enable watchdog timer for remote processors.
71 This option controls the watchdog functionality for the remote
72 processors in OMAP. Dedicated OMAP DMTimers are used by the remote
73 processors and triggers the timer interrupt upon a watchdog
77 tristate "AMx3xx Wakeup M3 remoteproc support"
78 depends on SOC_AM33XX || SOC_AM43XX
80 Say y here to support Wakeup M3 remote processor on TI AM33xx
81 and AM43xx family of SoCs.
83 Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
84 for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
85 firmware onto these remote processors.
88 config DA8XX_REMOTEPROC
89 tristate "DA8xx/OMAP-L13x remoteproc support"
90 depends on ARCH_DAVINCI_DA8XX
93 Say y here to support DA8xx/OMAP-L13x remote processors via the
94 remote processor framework.
96 You want to say y here in order to enable AMP
97 use-cases to run on your platform (multimedia codecs are
98 offloaded to remote DSP processors using this framework).
100 This module controls the name of the firmware file that gets
101 loaded on the DSP. This file must reside in the /lib/firmware
102 directory. It can be specified via the module parameter
103 da8xx_fw_name=<filename>, and if not specified will default to
106 It's safe to say n here if you're not interested in multimedia
109 config KEYSTONE_REMOTEPROC
110 tristate "Keystone Remoteproc support"
111 depends on ARCH_KEYSTONE
113 Say Y here here to support Keystone remote processors (DSP)
114 via the remote processor framework.
116 It's safe to say N here if you're not interested in the Keystone
117 DSPs or just want to use a bare minimum kernel.
119 config QCOM_RPROC_COMMON
122 config QCOM_Q6V5_COMMON
127 config QCOM_Q6V5_ADSP
128 tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
129 depends on OF && ARCH_QCOM
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
135 select QCOM_MDT_LOADER
136 select QCOM_Q6V5_COMMON
137 select QCOM_RPROC_COMMON
139 Say y here to support the Peripheral Image Loader
140 for the Qualcomm Technology Inc. ADSP remote processors.
143 tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
144 depends on OF && ARCH_QCOM
146 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
147 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
148 depends on QCOM_SYSMON || QCOM_SYSMON=n
150 select QCOM_MDT_LOADER
151 select QCOM_Q6V5_COMMON
152 select QCOM_Q6V5_IPA_NOTIFY
153 select QCOM_RPROC_COMMON
156 Say y here to support the Qualcomm self-authenticating modem
157 subsystem based on Hexagon V5.
160 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
161 depends on OF && ARCH_QCOM
163 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
164 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
165 depends on QCOM_SYSMON || QCOM_SYSMON=n
167 select QCOM_MDT_LOADER
168 select QCOM_Q6V5_COMMON
169 select QCOM_RPROC_COMMON
172 Say y here to support the TrustZone based Peripherial Image Loader
173 for the Qualcomm Hexagon v5 based remote processors. This is commonly
174 used to control subsystems such as ADSP, Compute and Sensor.
176 config QCOM_Q6V5_WCSS
177 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
178 depends on OF && ARCH_QCOM
180 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
181 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
182 depends on QCOM_SYSMON || QCOM_SYSMON=n
184 select QCOM_MDT_LOADER
185 select QCOM_Q6V5_COMMON
186 select QCOM_RPROC_COMMON
189 Say y here to support the Qualcomm Peripheral Image Loader for the
190 Hexagon V5 based WCSS remote processors.
192 config QCOM_Q6V5_IPA_NOTIFY
196 tristate "Qualcomm sysmon driver"
200 select QCOM_QMI_HELPERS
202 The sysmon driver implements a sysmon QMI client and a handler for
203 the sys_mon SMD and GLINK channel, which are used for graceful
204 shutdown, retrieving failure information and propagating information
205 about other subsystems being shut down.
207 Say y here if your system runs firmware on any other subsystems, e.g.
210 config QCOM_WCNSS_PIL
211 tristate "Qualcomm WCNSS Peripheral Image Loader"
212 depends on OF && ARCH_QCOM
213 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
214 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
216 depends on QCOM_SYSMON || QCOM_SYSMON=n
217 select QCOM_MDT_LOADER
218 select QCOM_RPROC_COMMON
221 Say y here to support the Peripheral Image Loader for the Qualcomm
222 Wireless Connectivity Subsystem.
225 tristate "ST remoteproc support"
230 Say y here to support ST's adjunct processors via the remote
232 This can be either built-in or a loadable module.
234 config ST_SLIM_REMOTEPROC
238 tristate "STM32 remoteproc support"
239 depends on ARCH_STM32
240 depends on REMOTEPROC
243 Say y here to support STM32 MCU processors via the
244 remote processor framework.
246 You want to say y here in order to enable AMP
247 use-cases to run on your platform (dedicated firmware could be
248 offloaded to remote MCU processors using this framework).
250 This can be either built-in or a loadable module.