split dev_queue
[cor.git] / drivers / remoteproc / Kconfig
blob94afdde4bc9f18d452b1e420956c21f41f0c7179
1 # SPDX-License-Identifier: GPL-2.0-only
2 menu "Remoteproc drivers"
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.
15 if REMOTEPROC
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.
24           It's safe to say N here.
26 config OMAP_REMOTEPROC
27         tristate "OMAP remoteproc support"
28         depends on ARCH_OMAP4 || SOC_OMAP5
29         depends on OMAP_IOMMU
30         select MAILBOX
31         select OMAP2PLUS_MBOX
32         help
33           Say y here to support OMAP's remote processors (dual M3
34           and DSP on OMAP4) via the remote processor framework.
36           Currently only supported on OMAP4.
38           Usually you want to say Y here, in order to enable multimedia
39           use-cases to run on your platform (multimedia codecs are
40           offloaded to remote DSP processors using this framework).
42           It's safe to say N here if you're not interested in multimedia
43           offloading or just want a bare minimum kernel.
45 config WKUP_M3_RPROC
46         tristate "AMx3xx Wakeup M3 remoteproc support"
47         depends on SOC_AM33XX || SOC_AM43XX
48         help
49           Say y here to support Wakeup M3 remote processor on TI AM33xx
50           and AM43xx family of SoCs.
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.
57 config DA8XX_REMOTEPROC
58         tristate "DA8xx/OMAP-L13x remoteproc support"
59         depends on ARCH_DAVINCI_DA8XX
60         depends on DMA_CMA
61         help
62           Say y here to support DA8xx/OMAP-L13x remote processors via the
63           remote processor framework.
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).
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".
75           It's safe to say n here if you're not interested in multimedia
76           offloading.
78 config KEYSTONE_REMOTEPROC
79         tristate "Keystone Remoteproc support"
80         depends on ARCH_KEYSTONE
81         help
82           Say Y here here to support Keystone remote processors (DSP)
83           via the remote processor framework.
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.
88 config QCOM_RPROC_COMMON
89         tristate
91 config QCOM_Q6V5_COMMON
92         tristate
93         depends on ARCH_QCOM
94         depends on QCOM_SMEM
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.
111 config QCOM_Q6V5_MSS
112         tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
113         depends on OF && ARCH_QCOM
114         depends on QCOM_SMEM
115         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
116         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
117         depends on QCOM_SYSMON || QCOM_SYSMON=n
118         select MFD_SYSCON
119         select QCOM_MDT_LOADER
120         select QCOM_Q6V5_COMMON
121         select QCOM_RPROC_COMMON
122         select QCOM_SCM
123         help
124           Say y here to support the Qualcomm self-authenticating modem
125           subsystem based on Hexagon V5.
127 config QCOM_Q6V5_PAS
128         tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
129         depends on OF && ARCH_QCOM
130         depends on QCOM_SMEM
131         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
132         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
133         depends on QCOM_SYSMON || QCOM_SYSMON=n
134         select MFD_SYSCON
135         select QCOM_MDT_LOADER
136         select QCOM_Q6V5_COMMON
137         select QCOM_RPROC_COMMON
138         select QCOM_SCM
139         help
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.
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
148         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
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.
160 config QCOM_SYSMON
161         tristate "Qualcomm sysmon driver"
162         depends on RPMSG
163         depends on ARCH_QCOM
164         depends on NET
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.
172           Say y here if your system runs firmware on any other subsystems, e.g.
173           modem or DSP.
175 config QCOM_WCNSS_PIL
176         tristate "Qualcomm WCNSS Peripheral Image Loader"
177         depends on OF && ARCH_QCOM
178         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
179         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
180         depends on QCOM_SMEM
181         depends on QCOM_SYSMON || QCOM_SYSMON=n
182         select QCOM_MDT_LOADER
183         select QCOM_RPROC_COMMON
184         select QCOM_SCM
185         help
186           Say y here to support the Peripheral Image Loader for the Qualcomm
187           Wireless Connectivity Subsystem.
189 config ST_REMOTEPROC
190         tristate "ST remoteproc support"
191         depends on ARCH_STI
192         select MAILBOX
193         select STI_MBOX
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.
199 config ST_SLIM_REMOTEPROC
200         tristate
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.
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).
215           This can be either built-in or a loadable module.
217 endif # REMOTEPROC
219 endmenu