blob: c18097c60ab8141a8b31b99feaaa547debad721c [file] [log] [blame]
Kees Cookeb367cb2013-01-16 18:53:51 -08001menu "Remoteproc drivers"
Ohad Ben-Cohen650d6562011-12-14 13:01:59 +02002
Ohad Ben-Cohen400e64d2011-10-20 16:52:46 +02003config REMOTEPROC
Peter Griffine41ddbc2016-10-18 10:39:08 +01004 tristate "Support for Remote Processor subsystem"
Sjur Brændelanda1a7e0a2012-09-13 20:03:58 +02005 depends on HAS_DMA
Ohad Ben-Cohena2b950a2013-04-07 14:06:07 +03006 select CRC32
Robert Tivyc7426bc2013-03-28 18:41:43 -07007 select FW_LOADER
Ohad Ben-Cohen2ed6d292012-09-30 10:25:34 +02008 select VIRTIO
Sarangdhar Joshi2666ca92018-01-05 16:04:17 -08009 select WANT_DEV_COREDUMP
Pavel Macheka73d9462016-12-19 10:22:50 +010010 help
11 Support for remote processors (such as DSP coprocessors). These
12 are mainly used on embedded systems.
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020013
Peter Griffine41ddbc2016-10-18 10:39:08 +010014if REMOTEPROC
15
Oleksij Rempela0ff4aa62017-08-17 09:15:26 +020016config IMX_REMOTEPROC
17 tristate "IMX6/7 remoteproc support"
Fabio Estevam0aa25822019-06-03 20:46:27 -030018 depends on ARCH_MXC
Oleksij Rempela0ff4aa62017-08-17 09:15:26 +020019 help
20 Say y here to support iMX's remote processors (Cortex M4
21 on iMX7D) via the remote processor framework.
22
23 It's safe to say N here.
24
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020025config OMAP_REMOTEPROC
26 tristate "OMAP remoteproc support"
Vincent Stehlée5bc0292013-02-18 12:06:52 +010027 depends on ARCH_OMAP4 || SOC_OMAP5
Ohad Ben-Cohen9cd8eb42012-02-28 13:04:33 +020028 depends on OMAP_IOMMU
Suman Annac869c752013-03-12 17:55:29 -050029 select MAILBOX
30 select OMAP2PLUS_MBOX
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020031 help
32 Say y here to support OMAP's remote processors (dual M3
33 and DSP on OMAP4) via the remote processor framework.
34
35 Currently only supported on OMAP4.
36
Pavel Macheka73d9462016-12-19 10:22:50 +010037 Usually you want to say Y here, in order to enable multimedia
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020038 use-cases to run on your platform (multimedia codecs are
39 offloaded to remote DSP processors using this framework).
40
Pavel Macheka73d9462016-12-19 10:22:50 +010041 It's safe to say N here if you're not interested in multimedia
Ohad Ben-Cohen34ed5a32011-10-20 18:53:35 +020042 offloading or just want a bare minimum kernel.
Ohad Ben-Cohen650d6562011-12-14 13:01:59 +020043
Dave Gerlacha01bc0d2015-05-22 15:45:30 -050044config WKUP_M3_RPROC
45 tristate "AMx3xx Wakeup M3 remoteproc support"
46 depends on SOC_AM33XX || SOC_AM43XX
Dave Gerlacha01bc0d2015-05-22 15:45:30 -050047 help
48 Say y here to support Wakeup M3 remote processor on TI AM33xx
49 and AM43xx family of SoCs.
50
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.
55
Robert Tivy13be5432013-04-09 14:20:21 -070056config DA8XX_REMOTEPROC
57 tristate "DA8xx/OMAP-L13x remoteproc support"
58 depends on ARCH_DAVINCI_DA8XX
Suman Annac51e8822017-05-18 17:08:59 -050059 depends on DMA_CMA
Robert Tivy13be5432013-04-09 14:20:21 -070060 help
61 Say y here to support DA8xx/OMAP-L13x remote processors via the
62 remote processor framework.
63
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).
67
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".
73
74 It's safe to say n here if you're not interested in multimedia
75 offloading.
76
Suman Annae88bb8f2017-06-13 18:45:12 -050077config KEYSTONE_REMOTEPROC
78 tristate "Keystone Remoteproc support"
79 depends on ARCH_KEYSTONE
Suman Annae88bb8f2017-06-13 18:45:12 -050080 help
81 Say Y here here to support Keystone remote processors (DSP)
82 via the remote processor framework.
83
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.
86
Bjorn Andersson9e004f92018-09-24 16:45:25 -070087config QCOM_RPROC_COMMON
88 tristate
89
90config QCOM_Q6V5_COMMON
91 tristate
92 depends on ARCH_QCOM
93 depends on QCOM_SMEM
94
Rohit kumardc160e42018-09-24 16:37:50 +053095config 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.
109
Bjorn Anderssonef73c222018-09-24 16:45:26 -0700110config 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
YueHaibingf1d72c52019-07-04 14:46:49 +0800118 select QCOM_MDT_LOADER
Bjorn Anderssonef73c222018-09-24 16:45:26 -0700119 select QCOM_Q6V5_COMMON
120 select QCOM_RPROC_COMMON
121 select QCOM_SCM
122 help
123 Say y here to support the Qualcomm self-authenticating modem
124 subsystem based on Hexagon V5.
125
Bjorn Andersson9e004f92018-09-24 16:45:25 -0700126config QCOM_Q6V5_PAS
127 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
Bjorn Anderssonb9e718e2016-08-22 22:57:44 -0700128 depends on OF && ARCH_QCOM
129 depends on QCOM_SMEM
Bjorn Andersson395a4802017-03-27 22:26:34 -0700130 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
Bjorn Anderssoneea07022017-08-29 16:13:35 -0700131 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
Bjorn Andersson1fb82ee2017-08-27 21:51:38 -0700132 depends on QCOM_SYSMON || QCOM_SYSMON=n
Bjorn Anderssonb9e718e2016-08-22 22:57:44 -0700133 select MFD_SYSCON
134 select QCOM_MDT_LOADER
Bjorn Andersson6103b1a2018-06-04 13:30:37 -0700135 select QCOM_Q6V5_COMMON
Bjorn Anderssonbde440e2017-01-27 02:28:32 -0800136 select QCOM_RPROC_COMMON
Arnd Bergmann8af1d632016-12-09 12:47:02 +0100137 select QCOM_SCM
Bjorn Anderssonb9e718e2016-08-22 22:57:44 -0700138 help
139 Say y here to support the TrustZone based Peripherial Image Loader
Bjorn Andersson9e004f92018-09-24 16:45:25 -0700140 for the Qualcomm Hexagon v5 based remote processors. This is commonly
141 used to control subsystems such as ADSP, Compute and Sensor.
Bjorn Andersson051fb702016-06-20 14:28:41 -0700142
Sricharan R3a3d4162018-06-07 22:57:11 +0530143config QCOM_Q6V5_WCSS
144 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
145 depends on OF && ARCH_QCOM
146 depends on QCOM_SMEM
Arnd Bergmann12c2b502018-07-18 13:16:26 +0200147 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
Sricharan R3a3d4162018-06-07 22:57:11 +0530148 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
Bjorn Andersson1fb82ee2017-08-27 21:51:38 -0700159config QCOM_SYSMON
160 tristate "Qualcomm sysmon driver"
161 depends on RPMSG
162 depends on ARCH_QCOM
Arnd Bergmanndea4bd12018-02-22 16:57:38 +0100163 depends on NET
Bjorn Andersson1fb82ee2017-08-27 21:51:38 -0700164 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
Bjorn Anderssonaed361a2016-08-12 18:18:59 -0700174config QCOM_WCNSS_PIL
175 tristate "Qualcomm WCNSS Peripheral Image Loader"
176 depends on OF && ARCH_QCOM
Bjorn Andersson395a4802017-03-27 22:26:34 -0700177 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
Arnd Bergmannab759b92017-09-11 21:54:17 +0200178 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
Bjorn Anderssonaed361a2016-08-12 18:18:59 -0700179 depends on QCOM_SMEM
Bjorn Andersson1fb82ee2017-08-27 21:51:38 -0700180 depends on QCOM_SYSMON || QCOM_SYSMON=n
Bjorn Anderssonaed361a2016-08-12 18:18:59 -0700181 select QCOM_MDT_LOADER
Bjorn Anderssonbde440e2017-01-27 02:28:32 -0800182 select QCOM_RPROC_COMMON
Bjorn Anderssonaed361a2016-08-12 18:18:59 -0700183 select QCOM_SCM
Bjorn Anderssonaed361a2016-08-12 18:18:59 -0700184 help
185 Say y here to support the Peripheral Image Loader for the Qualcomm
186 Wireless Connectivity Subsystem.
187
Lee Jones63edb032016-01-12 12:46:18 +0000188config ST_REMOTEPROC
189 tristate "ST remoteproc support"
190 depends on ARCH_STI
Loic Pallardy231c8df2017-01-31 13:35:54 +0100191 select MAILBOX
192 select STI_MBOX
Lee Jones63edb032016-01-12 12:46:18 +0000193 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
Peter Griffinbb6869b2016-10-18 10:39:06 +0100198config ST_SLIM_REMOTEPROC
199 tristate
Peter Griffine41ddbc2016-10-18 10:39:08 +0100200
Fabien Dessenne13140de2019-05-14 10:26:58 +0200201config STM32_RPROC
202 tristate "STM32 remoteproc support"
203 depends on ARCH_STM32
204 depends on REMOTEPROC
205 select MAILBOX
206 help
207 Say y here to support STM32 MCU processors via the
208 remote processor framework.
209
210 You want to say y here in order to enable AMP
211 use-cases to run on your platform (dedicated firmware could be
212 offloaded to remote MCU processors using this framework).
213
214 This can be either built-in or a loadable module.
215
Peter Griffine41ddbc2016-10-18 10:39:08 +0100216endif # REMOTEPROC
Peter Griffinbb6869b2016-10-18 10:39:06 +0100217
Ohad Ben-Cohen650d6562011-12-14 13:01:59 +0200218endmenu