Merge tag 'gvt-fixes-2020-02-26' of https://github.com/intel/gvt-linux into drm-intel...
[linux-2.6-microblaze.git] / drivers / remoteproc / Kconfig
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Remoteproc drivers"
3
4 config REMOTEPROC
5         bool "Support for Remote Processor subsystem"
6         depends on HAS_DMA
7         select CRC32
8         select FW_LOADER
9         select VIRTIO
10         select WANT_DEV_COREDUMP
11         help
12           Support for remote processors (such as DSP coprocessors). These
13           are mainly used on embedded systems.
14
15 if REMOTEPROC
16
17 config IMX_REMOTEPROC
18         tristate "IMX6/7 remoteproc support"
19         depends on ARCH_MXC
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
26 config MTK_SCP
27         tristate "Mediatek SCP support"
28         depends on ARCH_MEDIATEK
29         select RPMSG_MTK_SCP
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
36 config OMAP_REMOTEPROC
37         tristate "OMAP remoteproc support"
38         depends on ARCH_OMAP4 || SOC_OMAP5
39         depends on OMAP_IOMMU
40         select MAILBOX
41         select OMAP2PLUS_MBOX
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
48           Usually you want to say Y here, in order to enable multimedia
49           use-cases to run on your platform (multimedia codecs are
50           offloaded to remote DSP processors using this framework).
51
52           It's safe to say N here if you're not interested in multimedia
53           offloading or just want a bare minimum kernel.
54
55 config WKUP_M3_RPROC
56         tristate "AMx3xx Wakeup M3 remoteproc support"
57         depends on SOC_AM33XX || SOC_AM43XX
58         help
59           Say y here to support Wakeup M3 remote processor on TI AM33xx
60           and AM43xx family of SoCs.
61
62           Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
63           for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
64           firmware onto these remote processors.
65           If unsure say N.
66
67 config DA8XX_REMOTEPROC
68         tristate "DA8xx/OMAP-L13x remoteproc support"
69         depends on ARCH_DAVINCI_DA8XX
70         depends on DMA_CMA
71         help
72           Say y here to support DA8xx/OMAP-L13x remote processors via the
73           remote processor framework.
74
75           You want to say y here in order to enable AMP
76           use-cases to run on your platform (multimedia codecs are
77           offloaded to remote DSP processors using this framework).
78
79           This module controls the name of the firmware file that gets
80           loaded on the DSP.  This file must reside in the /lib/firmware
81           directory.  It can be specified via the module parameter
82           da8xx_fw_name=<filename>, and if not specified will default to
83           "rproc-dsp-fw".
84
85           It's safe to say n here if you're not interested in multimedia
86           offloading.
87
88 config KEYSTONE_REMOTEPROC
89         tristate "Keystone Remoteproc support"
90         depends on ARCH_KEYSTONE
91         help
92           Say Y here here to support Keystone remote processors (DSP)
93           via the remote processor framework.
94
95           It's safe to say N here if you're not interested in the Keystone
96           DSPs or just want to use a bare minimum kernel.
97
98 config QCOM_RPROC_COMMON
99         tristate
100
101 config QCOM_Q6V5_COMMON
102         tristate
103         depends on ARCH_QCOM
104         depends on QCOM_SMEM
105
106 config QCOM_Q6V5_ADSP
107         tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
108         depends on OF && ARCH_QCOM
109         depends on QCOM_SMEM
110         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
111         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
112         depends on QCOM_SYSMON || QCOM_SYSMON=n
113         select MFD_SYSCON
114         select QCOM_MDT_LOADER
115         select QCOM_Q6V5_COMMON
116         select QCOM_RPROC_COMMON
117         help
118           Say y here to support the Peripheral Image Loader
119           for the Qualcomm Technology Inc. ADSP remote processors.
120
121 config QCOM_Q6V5_MSS
122         tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
123         depends on OF && ARCH_QCOM
124         depends on QCOM_SMEM
125         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
126         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
127         depends on QCOM_SYSMON || QCOM_SYSMON=n
128         select MFD_SYSCON
129         select QCOM_MDT_LOADER
130         select QCOM_Q6V5_COMMON
131         select QCOM_RPROC_COMMON
132         select QCOM_SCM
133         help
134           Say y here to support the Qualcomm self-authenticating modem
135           subsystem based on Hexagon V5.
136
137 config QCOM_Q6V5_PAS
138         tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
139         depends on OF && ARCH_QCOM
140         depends on QCOM_SMEM
141         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
142         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
143         depends on QCOM_SYSMON || QCOM_SYSMON=n
144         select MFD_SYSCON
145         select QCOM_MDT_LOADER
146         select QCOM_Q6V5_COMMON
147         select QCOM_RPROC_COMMON
148         select QCOM_SCM
149         help
150           Say y here to support the TrustZone based Peripherial Image Loader
151           for the Qualcomm Hexagon v5 based remote processors. This is commonly
152           used to control subsystems such as ADSP, Compute and Sensor.
153
154 config QCOM_Q6V5_WCSS
155         tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
156         depends on OF && ARCH_QCOM
157         depends on QCOM_SMEM
158         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
159         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
160         depends on QCOM_SYSMON || QCOM_SYSMON=n
161         select MFD_SYSCON
162         select QCOM_MDT_LOADER
163         select QCOM_Q6V5_COMMON
164         select QCOM_RPROC_COMMON
165         select QCOM_SCM
166         help
167           Say y here to support the Qualcomm Peripheral Image Loader for the
168           Hexagon V5 based WCSS remote processors.
169
170 config QCOM_SYSMON
171         tristate "Qualcomm sysmon driver"
172         depends on RPMSG
173         depends on ARCH_QCOM
174         depends on NET
175         select QCOM_QMI_HELPERS
176         help
177           The sysmon driver implements a sysmon QMI client and a handler for
178           the sys_mon SMD and GLINK channel, which are used for graceful
179           shutdown, retrieving failure information and propagating information
180           about other subsystems being shut down.
181
182           Say y here if your system runs firmware on any other subsystems, e.g.
183           modem or DSP.
184
185 config QCOM_WCNSS_PIL
186         tristate "Qualcomm WCNSS Peripheral Image Loader"
187         depends on OF && ARCH_QCOM
188         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
189         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
190         depends on QCOM_SMEM
191         depends on QCOM_SYSMON || QCOM_SYSMON=n
192         select QCOM_MDT_LOADER
193         select QCOM_RPROC_COMMON
194         select QCOM_SCM
195         help
196           Say y here to support the Peripheral Image Loader for the Qualcomm
197           Wireless Connectivity Subsystem.
198
199 config ST_REMOTEPROC
200         tristate "ST remoteproc support"
201         depends on ARCH_STI
202         select MAILBOX
203         select STI_MBOX
204         help
205           Say y here to support ST's adjunct processors via the remote
206           processor framework.
207           This can be either built-in or a loadable module.
208
209 config ST_SLIM_REMOTEPROC
210         tristate
211
212 config STM32_RPROC
213         tristate "STM32 remoteproc support"
214         depends on ARCH_STM32
215         depends on REMOTEPROC
216         select MAILBOX
217         help
218           Say y here to support STM32 MCU processors via the
219           remote processor framework.
220
221           You want to say y here in order to enable AMP
222           use-cases to run on your platform (dedicated firmware could be
223           offloaded to remote MCU processors using this framework).
224
225           This can be either built-in or a loadable module.
226
227 endif # REMOTEPROC
228
229 endmenu