Linux 5.1.15
[linux/fpc-iii.git] / drivers / remoteproc / Kconfig
blobf0abd2608044738bb2ebd9e6e25fcea10074c5cf
1 menu "Remoteproc drivers"
3 config REMOTEPROC
4         tristate "Support for Remote Processor subsystem"
5         depends on HAS_DMA
6         select CRC32
7         select FW_LOADER
8         select VIRTIO
9         select WANT_DEV_COREDUMP
10         help
11           Support for remote processors (such as DSP coprocessors). These
12           are mainly used on embedded systems.
14 if REMOTEPROC
16 config IMX_REMOTEPROC
17         tristate "IMX6/7 remoteproc support"
18         depends on SOC_IMX6SX || SOC_IMX7D
19         help
20           Say y here to support iMX's remote processors (Cortex M4
21           on iMX7D) via the remote processor framework.
23           It's safe to say N here.
25 config OMAP_REMOTEPROC
26         tristate "OMAP remoteproc support"
27         depends on ARCH_OMAP4 || SOC_OMAP5
28         depends on OMAP_IOMMU
29         select MAILBOX
30         select OMAP2PLUS_MBOX
31         help
32           Say y here to support OMAP's remote processors (dual M3
33           and DSP on OMAP4) via the remote processor framework.
35           Currently only supported on OMAP4.
37           Usually you want to say Y here, in order to enable multimedia
38           use-cases to run on your platform (multimedia codecs are
39           offloaded to remote DSP processors using this framework).
41           It's safe to say N here if you're not interested in multimedia
42           offloading or just want a bare minimum kernel.
44 config WKUP_M3_RPROC
45         tristate "AMx3xx Wakeup M3 remoteproc support"
46         depends on SOC_AM33XX || SOC_AM43XX
47         help
48           Say y here to support Wakeup M3 remote processor on TI AM33xx
49           and AM43xx family of SoCs.
51           Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
52           for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
53           firmware onto these remote processors.
54           If unsure say N.
56 config DA8XX_REMOTEPROC
57         tristate "DA8xx/OMAP-L13x remoteproc support"
58         depends on ARCH_DAVINCI_DA8XX
59         depends on DMA_CMA
60         help
61           Say y here to support DA8xx/OMAP-L13x remote processors via the
62           remote processor framework.
64           You want to say y here in order to enable AMP
65           use-cases to run on your platform (multimedia codecs are
66           offloaded to remote DSP processors using this framework).
68           This module controls the name of the firmware file that gets
69           loaded on the DSP.  This file must reside in the /lib/firmware
70           directory.  It can be specified via the module parameter
71           da8xx_fw_name=<filename>, and if not specified will default to
72           "rproc-dsp-fw".
74           It's safe to say n here if you're not interested in multimedia
75           offloading.
77 config KEYSTONE_REMOTEPROC
78         tristate "Keystone Remoteproc support"
79         depends on ARCH_KEYSTONE
80         help
81           Say Y here here to support Keystone remote processors (DSP)
82           via the remote processor framework.
84           It's safe to say N here if you're not interested in the Keystone
85           DSPs or just want to use a bare minimum kernel.
87 config QCOM_RPROC_COMMON
88         tristate
90 config QCOM_Q6V5_COMMON
91         tristate
92         depends on ARCH_QCOM
93         depends on QCOM_SMEM
95 config QCOM_Q6V5_ADSP
96         tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader"
97         depends on OF && ARCH_QCOM
98         depends on QCOM_SMEM
99         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
100         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
101         depends on QCOM_SYSMON || QCOM_SYSMON=n
102         select MFD_SYSCON
103         select QCOM_MDT_LOADER
104         select QCOM_Q6V5_COMMON
105         select QCOM_RPROC_COMMON
106         help
107           Say y here to support the Peripheral Image Loader
108           for the Qualcomm Technology Inc. ADSP remote processors.
110 config QCOM_Q6V5_MSS
111         tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
112         depends on OF && ARCH_QCOM
113         depends on QCOM_SMEM
114         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
115         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
116         depends on QCOM_SYSMON || QCOM_SYSMON=n
117         select MFD_SYSCON
118         select QCOM_Q6V5_COMMON
119         select QCOM_RPROC_COMMON
120         select QCOM_SCM
121         help
122           Say y here to support the Qualcomm self-authenticating modem
123           subsystem based on Hexagon V5.
125 config QCOM_Q6V5_PAS
126         tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
127         depends on OF && ARCH_QCOM
128         depends on QCOM_SMEM
129         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
130         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
131         depends on QCOM_SYSMON || QCOM_SYSMON=n
132         select MFD_SYSCON
133         select QCOM_MDT_LOADER
134         select QCOM_Q6V5_COMMON
135         select QCOM_RPROC_COMMON
136         select QCOM_SCM
137         help
138           Say y here to support the TrustZone based Peripherial Image Loader
139           for the Qualcomm Hexagon v5 based remote processors. This is commonly
140           used to control subsystems such as ADSP, Compute and Sensor.
142 config QCOM_Q6V5_WCSS
143         tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
144         depends on OF && ARCH_QCOM
145         depends on QCOM_SMEM
146         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
147         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
148         depends on QCOM_SYSMON || QCOM_SYSMON=n
149         select MFD_SYSCON
150         select QCOM_MDT_LOADER
151         select QCOM_Q6V5_COMMON
152         select QCOM_RPROC_COMMON
153         select QCOM_SCM
154         help
155           Say y here to support the Qualcomm Peripheral Image Loader for the
156           Hexagon V5 based WCSS remote processors.
158 config QCOM_SYSMON
159         tristate "Qualcomm sysmon driver"
160         depends on RPMSG
161         depends on ARCH_QCOM
162         depends on NET
163         select QCOM_QMI_HELPERS
164         help
165           The sysmon driver implements a sysmon QMI client and a handler for
166           the sys_mon SMD and GLINK channel, which are used for graceful
167           shutdown, retrieving failure information and propagating information
168           about other subsystems being shut down.
170           Say y here if your system runs firmware on any other subsystems, e.g.
171           modem or DSP.
173 config QCOM_WCNSS_PIL
174         tristate "Qualcomm WCNSS Peripheral Image Loader"
175         depends on OF && ARCH_QCOM
176         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
177         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
178         depends on QCOM_SMEM
179         depends on QCOM_SYSMON || QCOM_SYSMON=n
180         select QCOM_MDT_LOADER
181         select QCOM_RPROC_COMMON
182         select QCOM_SCM
183         help
184           Say y here to support the Peripheral Image Loader for the Qualcomm
185           Wireless Connectivity Subsystem.
187 config ST_REMOTEPROC
188         tristate "ST remoteproc support"
189         depends on ARCH_STI
190         select MAILBOX
191         select STI_MBOX
192         help
193           Say y here to support ST's adjunct processors via the remote
194           processor framework.
195           This can be either built-in or a loadable module.
197 config ST_SLIM_REMOTEPROC
198         tristate
200 endif # REMOTEPROC
202 endmenu