hc
2024-12-19 9370bb92b2d16684ee45cf24e879c93c509162da
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
# SPDX-License-Identifier: GPL-2.0-only
menu "Remoteproc drivers"
 
config REMOTEPROC
   bool "Support for Remote Processor subsystem"
   depends on HAS_DMA
   select CRC32
   select FW_LOADER
   select VIRTIO
   select WANT_DEV_COREDUMP
   help
     Support for remote processors (such as DSP coprocessors). These
     are mainly used on embedded systems.
 
if REMOTEPROC
 
config REMOTEPROC_CDEV
   bool "Remoteproc character device interface"
   help
     Say y here to have a character device interface for the remoteproc
     framework. Userspace can boot/shutdown remote processors through
     this interface.
 
     It's safe to say N if you don't want to use this interface.
 
config IMX_REMOTEPROC
   tristate "IMX6/7 remoteproc support"
   depends on ARCH_MXC
   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 INGENIC_VPU_RPROC
   tristate "Ingenic JZ47xx VPU remoteproc support"
   depends on MIPS || COMPILE_TEST
   help
     Say y or m here to support the VPU in the JZ47xx SoCs from Ingenic.
 
     This can be either built-in or a loadable module.
     If unsure say N.
 
config MTK_SCP
   tristate "Mediatek SCP support"
   depends on ARCH_MEDIATEK || COMPILE_TEST
   select RPMSG_MTK_SCP
   help
     Say y here to support Mediatek's System Companion Processor (SCP) via
     the remote processor framework.
 
     It's safe to say N here.
 
config OMAP_REMOTEPROC
   tristate "OMAP remoteproc support"
   depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX
   depends on OMAP_IOMMU
   select MAILBOX
   select OMAP2PLUS_MBOX
   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 OMAP_REMOTEPROC_WATCHDOG
   bool "OMAP remoteproc watchdog timer"
   depends on OMAP_REMOTEPROC
   default n
   help
     Say Y here to enable watchdog timer for remote processors.
 
     This option controls the watchdog functionality for the remote
     processors in OMAP. Dedicated OMAP DMTimers are used by the remote
     processors and triggers the timer interrupt upon a watchdog
     detection.
 
config WKUP_M3_RPROC
   tristate "AMx3xx Wakeup M3 remoteproc support"
   depends on SOC_AM33XX || SOC_AM43XX
   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 DA8XX_REMOTEPROC
   tristate "DA8xx/OMAP-L13x remoteproc support"
   depends on ARCH_DAVINCI_DA8XX
   depends on DMA_CMA
   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 KEYSTONE_REMOTEPROC
   tristate "Keystone Remoteproc support"
   depends on ARCH_KEYSTONE
   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 QCOM_PIL_INFO
   tristate
 
config QCOM_RPROC_COMMON
   tristate
 
config QCOM_Q6V5_COMMON
   tristate
   depends on ARCH_QCOM
   depends on QCOM_SMEM
 
config QCOM_Q6V5_ADSP
   tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
   depends on OF && ARCH_QCOM
   depends on QCOM_SMEM
   depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
   depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
   depends on QCOM_SYSMON || QCOM_SYSMON=n
   select MFD_SYSCON
   select QCOM_PIL_INFO
   select QCOM_MDT_LOADER
   select QCOM_Q6V5_COMMON
   select QCOM_RPROC_COMMON
   help
     Say y here to support the Peripheral Image Loader
     for the Qualcomm Technology Inc. ADSP remote processors.
 
config QCOM_Q6V5_MSS
   tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
   depends on OF && ARCH_QCOM
   depends on QCOM_SMEM
   depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
   depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
   depends on QCOM_SYSMON || QCOM_SYSMON=n
   select MFD_SYSCON
   select QCOM_MDT_LOADER
   select QCOM_PIL_INFO
   select QCOM_Q6V5_COMMON
   select QCOM_RPROC_COMMON
   select QCOM_SCM
   help
     Say y here to support the Qualcomm self-authenticating modem
     subsystem based on Hexagon V5.
 
config QCOM_Q6V5_PAS
   tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
   depends on OF && ARCH_QCOM
   depends on QCOM_SMEM
   depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
   depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
   depends on QCOM_SYSMON || QCOM_SYSMON=n
   select MFD_SYSCON
   select QCOM_PIL_INFO
   select QCOM_MDT_LOADER
   select QCOM_Q6V5_COMMON
   select QCOM_RPROC_COMMON
   select QCOM_SCM
   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 QCOM_Q6V5_WCSS
   tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
   depends on OF && ARCH_QCOM
   depends on QCOM_SMEM
   depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
   depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
   depends on QCOM_SYSMON || QCOM_SYSMON=n
   select MFD_SYSCON
   select QCOM_MDT_LOADER
   select QCOM_PIL_INFO
   select QCOM_Q6V5_COMMON
   select QCOM_RPROC_COMMON
   select QCOM_SCM
   help
     Say y here to support the Qualcomm Peripheral Image Loader for the
     Hexagon V5 based WCSS remote processors.
 
config QCOM_SYSMON
   tristate "Qualcomm sysmon driver"
   depends on RPMSG
   depends on ARCH_QCOM
   depends on NET
   select QCOM_QMI_HELPERS
   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 QCOM_WCNSS_PIL
   tristate "Qualcomm WCNSS Peripheral Image Loader"
   depends on OF && ARCH_QCOM
   depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
   depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
   depends on QCOM_SMEM
   depends on QCOM_SYSMON || QCOM_SYSMON=n
   select QCOM_MDT_LOADER
   select QCOM_PIL_INFO
   select QCOM_RPROC_COMMON
   select QCOM_SCM
   help
     Say y here to support the Peripheral Image Loader for the Qualcomm
     Wireless Connectivity Subsystem.
 
config ST_REMOTEPROC
   tristate "ST remoteproc support"
   depends on ARCH_STI
   select MAILBOX
   select STI_MBOX
   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 ST_SLIM_REMOTEPROC
   tristate
 
config STM32_RPROC
   tristate "STM32 remoteproc support"
   depends on ARCH_STM32
   depends on REMOTEPROC
   select MAILBOX
   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.
 
config TI_K3_DSP_REMOTEPROC
   tristate "TI K3 DSP remoteproc support"
   depends on ARCH_K3
   select MAILBOX
   select OMAP2PLUS_MBOX
   help
     Say m here to support TI's C66x and C71x DSP remote processor
     subsystems on various TI K3 family of SoCs through the remote
     processor framework.
 
     It's safe to say N here if you're not interested in utilizing
     the DSP slave processors.
 
config TI_K3_R5_REMOTEPROC
   tristate "TI K3 R5 remoteproc support"
   depends on ARCH_K3
   select MAILBOX
   select OMAP2PLUS_MBOX
   help
     Say m here to support TI's R5F remote processor subsystems
     on various TI K3 family of SoCs through the remote processor
     framework.
 
     It's safe to say N here if you're not interested in utilizing
     a slave processor.
 
endif # REMOTEPROC
 
endmenu