Commit | Line | Data |
---|---|---|
ec8f24b7 | 1 | # SPDX-License-Identifier: GPL-2.0-only |
eb367cb6 | 2 | menu "Remoteproc drivers" |
650d6561 | 3 | |
400e64df | 4 | config REMOTEPROC |
e41ddbc0 | 5 | tristate "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 | ||
34ed5a33 OBC |
26 | config OMAP_REMOTEPROC |
27 | tristate "OMAP remoteproc support" | |
e5bc0294 | 28 | depends on ARCH_OMAP4 || SOC_OMAP5 |
9cd8eb43 | 29 | depends on OMAP_IOMMU |
c869c75c SA |
30 | select MAILBOX |
31 | select OMAP2PLUS_MBOX | |
34ed5a33 OBC |
32 | help |
33 | Say y here to support OMAP's remote processors (dual M3 | |
34 | and DSP on OMAP4) via the remote processor framework. | |
35 | ||
36 | Currently only supported on OMAP4. | |
37 | ||
a73d9468 | 38 | Usually you want to say Y here, in order to enable multimedia |
34ed5a33 OBC |
39 | use-cases to run on your platform (multimedia codecs are |
40 | offloaded to remote DSP processors using this framework). | |
41 | ||
a73d9468 | 42 | It's safe to say N here if you're not interested in multimedia |
34ed5a33 | 43 | offloading or just want a bare minimum kernel. |
650d6561 | 44 | |
a01bc0d5 DG |
45 | config WKUP_M3_RPROC |
46 | tristate "AMx3xx Wakeup M3 remoteproc support" | |
47 | depends on SOC_AM33XX || SOC_AM43XX | |
a01bc0d5 DG |
48 | help |
49 | Say y here to support Wakeup M3 remote processor on TI AM33xx | |
50 | and AM43xx family of SoCs. | |
51 | ||
52 | Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed | |
53 | for deep CPUIdle states on AM33xx SoCs. Allows for loading of the | |
54 | firmware onto these remote processors. | |
55 | If unsure say N. | |
56 | ||
13be5432 RT |
57 | config DA8XX_REMOTEPROC |
58 | tristate "DA8xx/OMAP-L13x remoteproc support" | |
59 | depends on ARCH_DAVINCI_DA8XX | |
c51e882c | 60 | depends on DMA_CMA |
13be5432 RT |
61 | help |
62 | Say y here to support DA8xx/OMAP-L13x remote processors via the | |
63 | remote processor framework. | |
64 | ||
65 | You want to say y here in order to enable AMP | |
66 | use-cases to run on your platform (multimedia codecs are | |
67 | offloaded to remote DSP processors using this framework). | |
68 | ||
69 | This module controls the name of the firmware file that gets | |
70 | loaded on the DSP. This file must reside in the /lib/firmware | |
71 | directory. It can be specified via the module parameter | |
72 | da8xx_fw_name=<filename>, and if not specified will default to | |
73 | "rproc-dsp-fw". | |
74 | ||
75 | It's safe to say n here if you're not interested in multimedia | |
76 | offloading. | |
77 | ||
e88bb8f7 SA |
78 | config KEYSTONE_REMOTEPROC |
79 | tristate "Keystone Remoteproc support" | |
80 | depends on ARCH_KEYSTONE | |
e88bb8f7 SA |
81 | help |
82 | Say Y here here to support Keystone remote processors (DSP) | |
83 | via the remote processor framework. | |
84 | ||
85 | It's safe to say N here if you're not interested in the Keystone | |
86 | DSPs or just want to use a bare minimum kernel. | |
87 | ||
9e004f97 BA |
88 | config QCOM_RPROC_COMMON |
89 | tristate | |
90 | ||
91 | config QCOM_Q6V5_COMMON | |
92 | tristate | |
93 | depends on ARCH_QCOM | |
94 | depends on QCOM_SMEM | |
95 | ||
dc160e44 R |
96 | config QCOM_Q6V5_ADSP |
97 | tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader" | |
98 | depends on OF && ARCH_QCOM | |
99 | depends on QCOM_SMEM | |
100 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) | |
101 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n | |
102 | depends on QCOM_SYSMON || QCOM_SYSMON=n | |
103 | select MFD_SYSCON | |
104 | select QCOM_MDT_LOADER | |
105 | select QCOM_Q6V5_COMMON | |
106 | select QCOM_RPROC_COMMON | |
107 | help | |
108 | Say y here to support the Peripheral Image Loader | |
109 | for the Qualcomm Technology Inc. ADSP remote processors. | |
110 | ||
ef73c22f BA |
111 | config QCOM_Q6V5_MSS |
112 | tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support" | |
b9e718e9 BA |
113 | depends on OF && ARCH_QCOM |
114 | depends on QCOM_SMEM | |
395a4805 | 115 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
eea07023 | 116 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
1fb82ee8 | 117 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
b9e718e9 | 118 | select MFD_SYSCON |
f1d72c55 | 119 | select QCOM_MDT_LOADER |
6103b1a6 | 120 | select QCOM_Q6V5_COMMON |
bde440ee | 121 | select QCOM_RPROC_COMMON |
8af1d63e | 122 | select QCOM_SCM |
b9e718e9 | 123 | help |
ef73c22f BA |
124 | Say y here to support the Qualcomm self-authenticating modem |
125 | subsystem based on Hexagon V5. | |
3b415c8f | 126 | |
ef73c22f BA |
127 | config QCOM_Q6V5_PAS |
128 | tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" | |
051fb70f BA |
129 | depends on OF && ARCH_QCOM |
130 | depends on QCOM_SMEM | |
395a4805 | 131 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
ab759b97 | 132 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
1fb82ee8 | 133 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
051fb70f | 134 | select MFD_SYSCON |
ef73c22f | 135 | select QCOM_MDT_LOADER |
7d674731 | 136 | select QCOM_Q6V5_COMMON |
bde440ee | 137 | select QCOM_RPROC_COMMON |
e2a32b6b | 138 | select QCOM_SCM |
051fb70f | 139 | help |
9e004f97 BA |
140 | Say y here to support the TrustZone based Peripherial Image Loader |
141 | for the Qualcomm Hexagon v5 based remote processors. This is commonly | |
142 | used to control subsystems such as ADSP, Compute and Sensor. | |
051fb70f | 143 | |
3a3d4163 S |
144 | config QCOM_Q6V5_WCSS |
145 | tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" | |
146 | depends on OF && ARCH_QCOM | |
147 | depends on QCOM_SMEM | |
12c2b509 | 148 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
3a3d4163 S |
149 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
150 | depends on QCOM_SYSMON || QCOM_SYSMON=n | |
151 | select MFD_SYSCON | |
152 | select QCOM_MDT_LOADER | |
153 | select QCOM_Q6V5_COMMON | |
154 | select QCOM_RPROC_COMMON | |
155 | select QCOM_SCM | |
156 | help | |
157 | Say y here to support the Qualcomm Peripheral Image Loader for the | |
158 | Hexagon V5 based WCSS remote processors. | |
159 | ||
1fb82ee8 BA |
160 | config QCOM_SYSMON |
161 | tristate "Qualcomm sysmon driver" | |
162 | depends on RPMSG | |
163 | depends on ARCH_QCOM | |
dea4bd19 | 164 | depends on NET |
1fb82ee8 BA |
165 | select QCOM_QMI_HELPERS |
166 | help | |
167 | The sysmon driver implements a sysmon QMI client and a handler for | |
168 | the sys_mon SMD and GLINK channel, which are used for graceful | |
169 | shutdown, retrieving failure information and propagating information | |
170 | about other subsystems being shut down. | |
171 | ||
172 | Say y here if your system runs firmware on any other subsystems, e.g. | |
173 | modem or DSP. | |
174 | ||
aed361ad BA |
175 | config QCOM_WCNSS_PIL |
176 | tristate "Qualcomm WCNSS Peripheral Image Loader" | |
177 | depends on OF && ARCH_QCOM | |
395a4805 | 178 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
ab759b97 | 179 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
aed361ad | 180 | depends on QCOM_SMEM |
1fb82ee8 | 181 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
aed361ad | 182 | select QCOM_MDT_LOADER |
bde440ee | 183 | select QCOM_RPROC_COMMON |
aed361ad | 184 | select QCOM_SCM |
aed361ad BA |
185 | help |
186 | Say y here to support the Peripheral Image Loader for the Qualcomm | |
187 | Wireless Connectivity Subsystem. | |
188 | ||
63edb031 LJ |
189 | config ST_REMOTEPROC |
190 | tristate "ST remoteproc support" | |
191 | depends on ARCH_STI | |
231c8dfd LP |
192 | select MAILBOX |
193 | select STI_MBOX | |
63edb031 LJ |
194 | help |
195 | Say y here to support ST's adjunct processors via the remote | |
196 | processor framework. | |
197 | This can be either built-in or a loadable module. | |
198 | ||
bb6869b2 PG |
199 | config ST_SLIM_REMOTEPROC |
200 | tristate | |
e41ddbc0 | 201 | |
13140de0 FD |
202 | config STM32_RPROC |
203 | tristate "STM32 remoteproc support" | |
204 | depends on ARCH_STM32 | |
205 | depends on REMOTEPROC | |
206 | select MAILBOX | |
207 | help | |
208 | Say y here to support STM32 MCU processors via the | |
209 | remote processor framework. | |
210 | ||
211 | You want to say y here in order to enable AMP | |
212 | use-cases to run on your platform (dedicated firmware could be | |
213 | offloaded to remote MCU processors using this framework). | |
214 | ||
215 | This can be either built-in or a loadable module. | |
216 | ||
e41ddbc0 | 217 | endif # REMOTEPROC |
bb6869b2 | 218 | |
650d6561 | 219 | endmenu |