treewide: Add SPDX license identifier - Makefile/Kconfig
[linux-2.6-block.git] / drivers / remoteproc / Kconfig
CommitLineData
ec8f24b7 1# SPDX-License-Identifier: GPL-2.0-only
eb367cb6 2menu "Remoteproc drivers"
650d6561 3
400e64df 4config 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
15if REMOTEPROC
16
a0ff4aa6
OR
17config IMX_REMOTEPROC
18 tristate "IMX6/7 remoteproc support"
19 depends on SOC_IMX6SX || SOC_IMX7D
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
26config 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
45config 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
57config 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
78config 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
88config QCOM_RPROC_COMMON
89 tristate
90
91config QCOM_Q6V5_COMMON
92 tristate
93 depends on ARCH_QCOM
94 depends on QCOM_SMEM
95
dc160e44
R
96config 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
111config 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
6103b1a6 119 select QCOM_Q6V5_COMMON
bde440ee 120 select QCOM_RPROC_COMMON
8af1d63e 121 select QCOM_SCM
b9e718e9 122 help
ef73c22f
BA
123 Say y here to support the Qualcomm self-authenticating modem
124 subsystem based on Hexagon V5.
3b415c8f 125
ef73c22f
BA
126config QCOM_Q6V5_PAS
127 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
051fb70f
BA
128 depends on OF && ARCH_QCOM
129 depends on QCOM_SMEM
395a4805 130 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
ab759b97 131 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
1fb82ee8 132 depends on QCOM_SYSMON || QCOM_SYSMON=n
051fb70f 133 select MFD_SYSCON
ef73c22f 134 select QCOM_MDT_LOADER
7d674731 135 select QCOM_Q6V5_COMMON
bde440ee 136 select QCOM_RPROC_COMMON
e2a32b6b 137 select QCOM_SCM
051fb70f 138 help
9e004f97
BA
139 Say y here to support the TrustZone based Peripherial Image Loader
140 for the Qualcomm Hexagon v5 based remote processors. This is commonly
141 used to control subsystems such as ADSP, Compute and Sensor.
051fb70f 142
3a3d4163
S
143config QCOM_Q6V5_WCSS
144 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
145 depends on OF && ARCH_QCOM
146 depends on QCOM_SMEM
12c2b509 147 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
3a3d4163
S
148 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
149 depends on QCOM_SYSMON || QCOM_SYSMON=n
150 select MFD_SYSCON
151 select QCOM_MDT_LOADER
152 select QCOM_Q6V5_COMMON
153 select QCOM_RPROC_COMMON
154 select QCOM_SCM
155 help
156 Say y here to support the Qualcomm Peripheral Image Loader for the
157 Hexagon V5 based WCSS remote processors.
158
1fb82ee8
BA
159config QCOM_SYSMON
160 tristate "Qualcomm sysmon driver"
161 depends on RPMSG
162 depends on ARCH_QCOM
dea4bd19 163 depends on NET
1fb82ee8
BA
164 select QCOM_QMI_HELPERS
165 help
166 The sysmon driver implements a sysmon QMI client and a handler for
167 the sys_mon SMD and GLINK channel, which are used for graceful
168 shutdown, retrieving failure information and propagating information
169 about other subsystems being shut down.
170
171 Say y here if your system runs firmware on any other subsystems, e.g.
172 modem or DSP.
173
aed361ad
BA
174config QCOM_WCNSS_PIL
175 tristate "Qualcomm WCNSS Peripheral Image Loader"
176 depends on OF && ARCH_QCOM
395a4805 177 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
ab759b97 178 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
aed361ad 179 depends on QCOM_SMEM
1fb82ee8 180 depends on QCOM_SYSMON || QCOM_SYSMON=n
aed361ad 181 select QCOM_MDT_LOADER
bde440ee 182 select QCOM_RPROC_COMMON
aed361ad 183 select QCOM_SCM
aed361ad
BA
184 help
185 Say y here to support the Peripheral Image Loader for the Qualcomm
186 Wireless Connectivity Subsystem.
187
63edb031
LJ
188config ST_REMOTEPROC
189 tristate "ST remoteproc support"
190 depends on ARCH_STI
231c8dfd
LP
191 select MAILBOX
192 select STI_MBOX
63edb031
LJ
193 help
194 Say y here to support ST's adjunct processors via the remote
195 processor framework.
196 This can be either built-in or a loadable module.
197
bb6869b2
PG
198config ST_SLIM_REMOTEPROC
199 tristate
e41ddbc0
PG
200
201endif # REMOTEPROC
bb6869b2 202
650d6561 203endmenu