Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
eb367cb6 | 2 | menu "Remoteproc drivers" |
650d6561 | 3 | |
400e64df | 4 | config 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 |
15 | if REMOTEPROC |
16 | ||
a0ff4aa6 OR |
17 | config 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 |
26 | config 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 |
36 | config 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 |
55 | config 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 |
67 | config 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 |
79 | config 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 |
100 | config 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 |
110 | config QCOM_RPROC_COMMON |
111 | tristate | |
112 | ||
113 | config QCOM_Q6V5_COMMON | |
114 | tristate | |
115 | depends on ARCH_QCOM | |
116 | depends on QCOM_SMEM | |
117 | ||
dc160e44 R |
118 | config 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 |
133 | config 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 |
149 | config 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 |
166 | config 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 |
182 | config 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 |
197 | config 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 |
211 | config 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 |
221 | config ST_SLIM_REMOTEPROC |
222 | tristate | |
e41ddbc0 | 223 | |
13140de0 FD |
224 | config 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 | 239 | endif # REMOTEPROC |
bb6869b2 | 240 | |
650d6561 | 241 | endmenu |