remoteproc/omap: Add watchdog functionality for remote processors
[linux-block.git] / drivers / remoteproc / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
eb367cb6 2menu "Remoteproc drivers"
650d6561 3
400e64df 4config REMOTEPROC
6334150e 5 bool "Support for Remote Processor subsystem"
a1a7e0a3 6 depends on HAS_DMA
a2b950ac 7 select CRC32
c7426bce 8 select FW_LOADER
2ed6d29c 9 select VIRTIO
2666ca91 10 select WANT_DEV_COREDUMP
a73d9468
PM
11 help
12 Support for remote processors (such as DSP coprocessors). These
13 are mainly used on embedded systems.
34ed5a33 14
e41ddbc0
PG
15if REMOTEPROC
16
a0ff4aa6
OR
17config IMX_REMOTEPROC
18 tristate "IMX6/7 remoteproc support"
0aa25820 19 depends on ARCH_MXC
a0ff4aa6
OR
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
63c13d61
EL
26config MTK_SCP
27 tristate "Mediatek SCP support"
28 depends on ARCH_MEDIATEK
70179969 29 select RPMSG_MTK_SCP
63c13d61
EL
30 help
31 Say y here to support Mediatek's System Companion Processor (SCP) via
32 the remote processor framework.
33
34 It's safe to say N here.
35
34ed5a33
OBC
36config OMAP_REMOTEPROC
37 tristate "OMAP remoteproc support"
0aaf1913 38 depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX
9cd8eb43 39 depends on OMAP_IOMMU
c869c75c
SA
40 select MAILBOX
41 select OMAP2PLUS_MBOX
34ed5a33
OBC
42 help
43 Say y here to support OMAP's remote processors (dual M3
44 and DSP on OMAP4) via the remote processor framework.
45
46 Currently only supported on OMAP4.
47
a73d9468 48 Usually you want to say Y here, in order to enable multimedia
34ed5a33
OBC
49 use-cases to run on your platform (multimedia codecs are
50 offloaded to remote DSP processors using this framework).
51
a73d9468 52 It's safe to say N here if you're not interested in multimedia
34ed5a33 53 offloading or just want a bare minimum kernel.
650d6561 54
69591e4a
SA
55config OMAP_REMOTEPROC_WATCHDOG
56 bool "OMAP remoteproc watchdog timer"
57 depends on OMAP_REMOTEPROC
58 default n
59 help
60 Say Y here to enable watchdog timer for remote processors.
61
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
65 detection.
66
a01bc0d5
DG
67config WKUP_M3_RPROC
68 tristate "AMx3xx Wakeup M3 remoteproc support"
69 depends on SOC_AM33XX || SOC_AM43XX
a01bc0d5
DG
70 help
71 Say y here to support Wakeup M3 remote processor on TI AM33xx
72 and AM43xx family of SoCs.
73
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.
77 If unsure say N.
78
13be5432
RT
79config DA8XX_REMOTEPROC
80 tristate "DA8xx/OMAP-L13x remoteproc support"
81 depends on ARCH_DAVINCI_DA8XX
c51e882c 82 depends on DMA_CMA
13be5432
RT
83 help
84 Say y here to support DA8xx/OMAP-L13x remote processors via the
85 remote processor framework.
86
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).
90
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
95 "rproc-dsp-fw".
96
97 It's safe to say n here if you're not interested in multimedia
98 offloading.
99
e88bb8f7
SA
100config KEYSTONE_REMOTEPROC
101 tristate "Keystone Remoteproc support"
102 depends on ARCH_KEYSTONE
e88bb8f7
SA
103 help
104 Say Y here here to support Keystone remote processors (DSP)
105 via the remote processor framework.
106
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.
109
9e004f97
BA
110config QCOM_RPROC_COMMON
111 tristate
112
113config QCOM_Q6V5_COMMON
114 tristate
115 depends on ARCH_QCOM
116 depends on QCOM_SMEM
117
dc160e44
R
118config QCOM_Q6V5_ADSP
119 tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
120 depends on OF && ARCH_QCOM
121 depends on QCOM_SMEM
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
125 select MFD_SYSCON
126 select QCOM_MDT_LOADER
127 select QCOM_Q6V5_COMMON
128 select QCOM_RPROC_COMMON
129 help
130 Say y here to support the Peripheral Image Loader
131 for the Qualcomm Technology Inc. ADSP remote processors.
132
ef73c22f
BA
133config QCOM_Q6V5_MSS
134 tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
b9e718e9
BA
135 depends on OF && ARCH_QCOM
136 depends on QCOM_SMEM
395a4805 137 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
eea07023 138 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
1fb82ee8 139 depends on QCOM_SYSMON || QCOM_SYSMON=n
b9e718e9 140 select MFD_SYSCON
f1d72c55 141 select QCOM_MDT_LOADER
6103b1a6 142 select QCOM_Q6V5_COMMON
bde440ee 143 select QCOM_RPROC_COMMON
8af1d63e 144 select QCOM_SCM
b9e718e9 145 help
ef73c22f
BA
146 Say y here to support the Qualcomm self-authenticating modem
147 subsystem based on Hexagon V5.
3b415c8f 148
ef73c22f
BA
149config QCOM_Q6V5_PAS
150 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
051fb70f
BA
151 depends on OF && ARCH_QCOM
152 depends on QCOM_SMEM
395a4805 153 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
ab759b97 154 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
1fb82ee8 155 depends on QCOM_SYSMON || QCOM_SYSMON=n
051fb70f 156 select MFD_SYSCON
ef73c22f 157 select QCOM_MDT_LOADER
7d674731 158 select QCOM_Q6V5_COMMON
bde440ee 159 select QCOM_RPROC_COMMON
e2a32b6b 160 select QCOM_SCM
051fb70f 161 help
9e004f97
BA
162 Say y here to support the TrustZone based Peripherial Image Loader
163 for the Qualcomm Hexagon v5 based remote processors. This is commonly
164 used to control subsystems such as ADSP, Compute and Sensor.
051fb70f 165
3a3d4163
S
166config QCOM_Q6V5_WCSS
167 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
168 depends on OF && ARCH_QCOM
169 depends on QCOM_SMEM
12c2b509 170 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
3a3d4163
S
171 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
172 depends on QCOM_SYSMON || QCOM_SYSMON=n
173 select MFD_SYSCON
174 select QCOM_MDT_LOADER
175 select QCOM_Q6V5_COMMON
176 select QCOM_RPROC_COMMON
177 select QCOM_SCM
178 help
179 Say y here to support the Qualcomm Peripheral Image Loader for the
180 Hexagon V5 based WCSS remote processors.
181
1fb82ee8
BA
182config QCOM_SYSMON
183 tristate "Qualcomm sysmon driver"
184 depends on RPMSG
185 depends on ARCH_QCOM
dea4bd19 186 depends on NET
1fb82ee8
BA
187 select QCOM_QMI_HELPERS
188 help
189 The sysmon driver implements a sysmon QMI client and a handler for
190 the sys_mon SMD and GLINK channel, which are used for graceful
191 shutdown, retrieving failure information and propagating information
192 about other subsystems being shut down.
193
194 Say y here if your system runs firmware on any other subsystems, e.g.
195 modem or DSP.
196
aed361ad
BA
197config QCOM_WCNSS_PIL
198 tristate "Qualcomm WCNSS Peripheral Image Loader"
199 depends on OF && ARCH_QCOM
395a4805 200 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
ab759b97 201 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
aed361ad 202 depends on QCOM_SMEM
1fb82ee8 203 depends on QCOM_SYSMON || QCOM_SYSMON=n
aed361ad 204 select QCOM_MDT_LOADER
bde440ee 205 select QCOM_RPROC_COMMON
aed361ad 206 select QCOM_SCM
aed361ad
BA
207 help
208 Say y here to support the Peripheral Image Loader for the Qualcomm
209 Wireless Connectivity Subsystem.
210
63edb031
LJ
211config ST_REMOTEPROC
212 tristate "ST remoteproc support"
213 depends on ARCH_STI
231c8dfd
LP
214 select MAILBOX
215 select STI_MBOX
63edb031
LJ
216 help
217 Say y here to support ST's adjunct processors via the remote
218 processor framework.
219 This can be either built-in or a loadable module.
220
bb6869b2
PG
221config ST_SLIM_REMOTEPROC
222 tristate
e41ddbc0 223
13140de0
FD
224config STM32_RPROC
225 tristate "STM32 remoteproc support"
226 depends on ARCH_STM32
227 depends on REMOTEPROC
228 select MAILBOX
229 help
230 Say y here to support STM32 MCU processors via the
231 remote processor framework.
232
233 You want to say y here in order to enable AMP
234 use-cases to run on your platform (dedicated firmware could be
235 offloaded to remote MCU processors using this framework).
236
237 This can be either built-in or a loadable module.
238
e41ddbc0 239endif # REMOTEPROC
bb6869b2 240
650d6561 241endmenu