Thomas Gleixner | ec8f24b | 2019-05-19 13:07:45 +0100 | [diff] [blame] | 1 | # SPDX-License-Identifier: GPL-2.0-only |
Kees Cook | eb367cb | 2013-01-16 18:53:51 -0800 | [diff] [blame] | 2 | menu "Remoteproc drivers" |
Ohad Ben-Cohen | 650d656 | 2011-12-14 13:01:59 +0200 | [diff] [blame] | 3 | |
Ohad Ben-Cohen | 400e64d | 2011-10-20 16:52:46 +0200 | [diff] [blame] | 4 | config REMOTEPROC |
Christoph Hellwig | 6334150 | 2019-08-30 08:43:12 +0200 | [diff] [blame] | 5 | bool "Support for Remote Processor subsystem" |
Sjur Brændeland | a1a7e0a | 2012-09-13 20:03:58 +0200 | [diff] [blame] | 6 | depends on HAS_DMA |
Ohad Ben-Cohen | a2b950a | 2013-04-07 14:06:07 +0300 | [diff] [blame] | 7 | select CRC32 |
Robert Tivy | c7426bc | 2013-03-28 18:41:43 -0700 | [diff] [blame] | 8 | select FW_LOADER |
Ohad Ben-Cohen | 2ed6d29 | 2012-09-30 10:25:34 +0200 | [diff] [blame] | 9 | select VIRTIO |
Sarangdhar Joshi | 2666ca9 | 2018-01-05 16:04:17 -0800 | [diff] [blame] | 10 | select WANT_DEV_COREDUMP |
Pavel Machek | a73d946 | 2016-12-19 10:22:50 +0100 | [diff] [blame] | 11 | help |
| 12 | Support for remote processors (such as DSP coprocessors). These |
| 13 | are mainly used on embedded systems. |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 14 | |
Peter Griffin | e41ddbc | 2016-10-18 10:39:08 +0100 | [diff] [blame] | 15 | if REMOTEPROC |
| 16 | |
Oleksij Rempel | a0ff4aa6 | 2017-08-17 09:15:26 +0200 | [diff] [blame] | 17 | config IMX_REMOTEPROC |
| 18 | tristate "IMX6/7 remoteproc support" |
Fabio Estevam | 0aa2582 | 2019-06-03 20:46:27 -0300 | [diff] [blame] | 19 | depends on ARCH_MXC |
Oleksij Rempel | a0ff4aa6 | 2017-08-17 09:15:26 +0200 | [diff] [blame] | 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 | |
Erin Lo | 63c13d6 | 2019-11-12 19:03:25 +0800 | [diff] [blame] | 26 | config MTK_SCP |
| 27 | tristate "Mediatek SCP support" |
| 28 | depends on ARCH_MEDIATEK |
Pi-Hsun Shih | 7017996 | 2019-11-12 19:03:26 +0800 | [diff] [blame] | 29 | select RPMSG_MTK_SCP |
Erin Lo | 63c13d6 | 2019-11-12 19:03:25 +0800 | [diff] [blame] | 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 | |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 36 | config OMAP_REMOTEPROC |
| 37 | tristate "OMAP remoteproc support" |
Suman Anna | 0aaf191 | 2020-03-24 13:00:27 +0200 | [diff] [blame] | 38 | depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX |
Ohad Ben-Cohen | 9cd8eb4 | 2012-02-28 13:04:33 +0200 | [diff] [blame] | 39 | depends on OMAP_IOMMU |
Suman Anna | c869c75 | 2013-03-12 17:55:29 -0500 | [diff] [blame] | 40 | select MAILBOX |
| 41 | select OMAP2PLUS_MBOX |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 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 | |
Pavel Machek | a73d946 | 2016-12-19 10:22:50 +0100 | [diff] [blame] | 48 | Usually you want to say Y here, in order to enable multimedia |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 49 | use-cases to run on your platform (multimedia codecs are |
| 50 | offloaded to remote DSP processors using this framework). |
| 51 | |
Pavel Machek | a73d946 | 2016-12-19 10:22:50 +0100 | [diff] [blame] | 52 | It's safe to say N here if you're not interested in multimedia |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 53 | offloading or just want a bare minimum kernel. |
Ohad Ben-Cohen | 650d656 | 2011-12-14 13:01:59 +0200 | [diff] [blame] | 54 | |
Suman Anna | 69591e4 | 2020-03-24 13:00:34 +0200 | [diff] [blame] | 55 | config OMAP_REMOTEPROC_WATCHDOG |
| 56 | bool "OMAP remoteproc watchdog timer" |
| 57 | depends on OMAP_REMOTEPROC |
| 58 | default n |
| 59 | help |
| 60 | Say Y here to enable watchdog timer for remote processors. |
| 61 | |
| 62 | This option controls the watchdog functionality for the remote |
| 63 | processors in OMAP. Dedicated OMAP DMTimers are used by the remote |
| 64 | processors and triggers the timer interrupt upon a watchdog |
| 65 | detection. |
| 66 | |
Dave Gerlach | a01bc0d | 2015-05-22 15:45:30 -0500 | [diff] [blame] | 67 | config WKUP_M3_RPROC |
| 68 | tristate "AMx3xx Wakeup M3 remoteproc support" |
| 69 | depends on SOC_AM33XX || SOC_AM43XX |
Dave Gerlach | a01bc0d | 2015-05-22 15:45:30 -0500 | [diff] [blame] | 70 | help |
| 71 | Say y here to support Wakeup M3 remote processor on TI AM33xx |
| 72 | and AM43xx family of SoCs. |
| 73 | |
| 74 | Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed |
| 75 | for deep CPUIdle states on AM33xx SoCs. Allows for loading of the |
| 76 | firmware onto these remote processors. |
| 77 | If unsure say N. |
| 78 | |
Robert Tivy | 13be543 | 2013-04-09 14:20:21 -0700 | [diff] [blame] | 79 | config DA8XX_REMOTEPROC |
| 80 | tristate "DA8xx/OMAP-L13x remoteproc support" |
| 81 | depends on ARCH_DAVINCI_DA8XX |
Suman Anna | c51e882 | 2017-05-18 17:08:59 -0500 | [diff] [blame] | 82 | depends on DMA_CMA |
Robert Tivy | 13be543 | 2013-04-09 14:20:21 -0700 | [diff] [blame] | 83 | help |
| 84 | Say y here to support DA8xx/OMAP-L13x remote processors via the |
| 85 | remote processor framework. |
| 86 | |
| 87 | You want to say y here in order to enable AMP |
| 88 | use-cases to run on your platform (multimedia codecs are |
| 89 | offloaded to remote DSP processors using this framework). |
| 90 | |
| 91 | This module controls the name of the firmware file that gets |
| 92 | loaded on the DSP. This file must reside in the /lib/firmware |
| 93 | directory. It can be specified via the module parameter |
| 94 | da8xx_fw_name=<filename>, and if not specified will default to |
| 95 | "rproc-dsp-fw". |
| 96 | |
| 97 | It's safe to say n here if you're not interested in multimedia |
| 98 | offloading. |
| 99 | |
Suman Anna | e88bb8f | 2017-06-13 18:45:12 -0500 | [diff] [blame] | 100 | config KEYSTONE_REMOTEPROC |
| 101 | tristate "Keystone Remoteproc support" |
| 102 | depends on ARCH_KEYSTONE |
Suman Anna | e88bb8f | 2017-06-13 18:45:12 -0500 | [diff] [blame] | 103 | help |
| 104 | Say Y here here to support Keystone remote processors (DSP) |
| 105 | via the remote processor framework. |
| 106 | |
| 107 | It's safe to say N here if you're not interested in the Keystone |
| 108 | DSPs or just want to use a bare minimum kernel. |
| 109 | |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 110 | config QCOM_RPROC_COMMON |
| 111 | tristate |
| 112 | |
| 113 | config QCOM_Q6V5_COMMON |
| 114 | tristate |
| 115 | depends on ARCH_QCOM |
| 116 | depends on QCOM_SMEM |
| 117 | |
Rohit kumar | dc160e4 | 2018-09-24 16:37:50 +0530 | [diff] [blame] | 118 | config QCOM_Q6V5_ADSP |
| 119 | tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader" |
| 120 | depends on OF && ARCH_QCOM |
| 121 | depends on QCOM_SMEM |
| 122 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 123 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 124 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 125 | select MFD_SYSCON |
| 126 | select QCOM_MDT_LOADER |
| 127 | select QCOM_Q6V5_COMMON |
| 128 | select QCOM_RPROC_COMMON |
| 129 | help |
| 130 | Say y here to support the Peripheral Image Loader |
| 131 | for the Qualcomm Technology Inc. ADSP remote processors. |
| 132 | |
Bjorn Andersson | ef73c22 | 2018-09-24 16:45:26 -0700 | [diff] [blame] | 133 | config QCOM_Q6V5_MSS |
| 134 | tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support" |
| 135 | depends on OF && ARCH_QCOM |
| 136 | depends on QCOM_SMEM |
| 137 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 138 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 139 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 140 | select MFD_SYSCON |
YueHaibing | f1d72c5 | 2019-07-04 14:46:49 +0800 | [diff] [blame] | 141 | select QCOM_MDT_LOADER |
Bjorn Andersson | ef73c22 | 2018-09-24 16:45:26 -0700 | [diff] [blame] | 142 | select QCOM_Q6V5_COMMON |
Alex Elder | 5e0ef51 | 2020-03-16 17:51:21 -0500 | [diff] [blame] | 143 | select QCOM_Q6V5_IPA_NOTIFY |
Bjorn Andersson | ef73c22 | 2018-09-24 16:45:26 -0700 | [diff] [blame] | 144 | select QCOM_RPROC_COMMON |
| 145 | select QCOM_SCM |
| 146 | help |
| 147 | Say y here to support the Qualcomm self-authenticating modem |
| 148 | subsystem based on Hexagon V5. |
| 149 | |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 150 | config QCOM_Q6V5_PAS |
| 151 | tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 152 | depends on OF && ARCH_QCOM |
| 153 | depends on QCOM_SMEM |
Bjorn Andersson | 395a480 | 2017-03-27 22:26:34 -0700 | [diff] [blame] | 154 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Bjorn Andersson | eea0702 | 2017-08-29 16:13:35 -0700 | [diff] [blame] | 155 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 156 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 157 | select MFD_SYSCON |
| 158 | select QCOM_MDT_LOADER |
Bjorn Andersson | 6103b1a | 2018-06-04 13:30:37 -0700 | [diff] [blame] | 159 | select QCOM_Q6V5_COMMON |
Bjorn Andersson | bde440e | 2017-01-27 02:28:32 -0800 | [diff] [blame] | 160 | select QCOM_RPROC_COMMON |
Arnd Bergmann | 8af1d63 | 2016-12-09 12:47:02 +0100 | [diff] [blame] | 161 | select QCOM_SCM |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 162 | help |
| 163 | Say y here to support the TrustZone based Peripherial Image Loader |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 164 | for the Qualcomm Hexagon v5 based remote processors. This is commonly |
| 165 | used to control subsystems such as ADSP, Compute and Sensor. |
Bjorn Andersson | 051fb70 | 2016-06-20 14:28:41 -0700 | [diff] [blame] | 166 | |
Sricharan R | 3a3d416 | 2018-06-07 22:57:11 +0530 | [diff] [blame] | 167 | config QCOM_Q6V5_WCSS |
| 168 | tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" |
| 169 | depends on OF && ARCH_QCOM |
| 170 | depends on QCOM_SMEM |
Arnd Bergmann | 12c2b50 | 2018-07-18 13:16:26 +0200 | [diff] [blame] | 171 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Sricharan R | 3a3d416 | 2018-06-07 22:57:11 +0530 | [diff] [blame] | 172 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 173 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 174 | select MFD_SYSCON |
| 175 | select QCOM_MDT_LOADER |
| 176 | select QCOM_Q6V5_COMMON |
| 177 | select QCOM_RPROC_COMMON |
| 178 | select QCOM_SCM |
| 179 | help |
| 180 | Say y here to support the Qualcomm Peripheral Image Loader for the |
| 181 | Hexagon V5 based WCSS remote processors. |
| 182 | |
Alex Elder | d7f5f3c | 2020-03-05 22:28:15 -0600 | [diff] [blame] | 183 | config QCOM_Q6V5_IPA_NOTIFY |
| 184 | tristate |
Alex Elder | d7f5f3c | 2020-03-05 22:28:15 -0600 | [diff] [blame] | 185 | |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 186 | config QCOM_SYSMON |
| 187 | tristate "Qualcomm sysmon driver" |
| 188 | depends on RPMSG |
| 189 | depends on ARCH_QCOM |
Arnd Bergmann | dea4bd1 | 2018-02-22 16:57:38 +0100 | [diff] [blame] | 190 | depends on NET |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 191 | select QCOM_QMI_HELPERS |
| 192 | help |
| 193 | The sysmon driver implements a sysmon QMI client and a handler for |
| 194 | the sys_mon SMD and GLINK channel, which are used for graceful |
| 195 | shutdown, retrieving failure information and propagating information |
| 196 | about other subsystems being shut down. |
| 197 | |
| 198 | Say y here if your system runs firmware on any other subsystems, e.g. |
| 199 | modem or DSP. |
| 200 | |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 201 | config QCOM_WCNSS_PIL |
| 202 | tristate "Qualcomm WCNSS Peripheral Image Loader" |
| 203 | depends on OF && ARCH_QCOM |
Bjorn Andersson | 395a480 | 2017-03-27 22:26:34 -0700 | [diff] [blame] | 204 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Arnd Bergmann | ab759b9 | 2017-09-11 21:54:17 +0200 | [diff] [blame] | 205 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 206 | depends on QCOM_SMEM |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 207 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 208 | select QCOM_MDT_LOADER |
Bjorn Andersson | bde440e | 2017-01-27 02:28:32 -0800 | [diff] [blame] | 209 | select QCOM_RPROC_COMMON |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 210 | select QCOM_SCM |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 211 | help |
| 212 | Say y here to support the Peripheral Image Loader for the Qualcomm |
| 213 | Wireless Connectivity Subsystem. |
| 214 | |
Lee Jones | 63edb03 | 2016-01-12 12:46:18 +0000 | [diff] [blame] | 215 | config ST_REMOTEPROC |
| 216 | tristate "ST remoteproc support" |
| 217 | depends on ARCH_STI |
Loic Pallardy | 231c8df | 2017-01-31 13:35:54 +0100 | [diff] [blame] | 218 | select MAILBOX |
| 219 | select STI_MBOX |
Lee Jones | 63edb03 | 2016-01-12 12:46:18 +0000 | [diff] [blame] | 220 | help |
| 221 | Say y here to support ST's adjunct processors via the remote |
| 222 | processor framework. |
| 223 | This can be either built-in or a loadable module. |
| 224 | |
Peter Griffin | bb6869b | 2016-10-18 10:39:06 +0100 | [diff] [blame] | 225 | config ST_SLIM_REMOTEPROC |
| 226 | tristate |
Peter Griffin | e41ddbc | 2016-10-18 10:39:08 +0100 | [diff] [blame] | 227 | |
Fabien Dessenne | 13140de | 2019-05-14 10:26:58 +0200 | [diff] [blame] | 228 | config STM32_RPROC |
| 229 | tristate "STM32 remoteproc support" |
| 230 | depends on ARCH_STM32 |
| 231 | depends on REMOTEPROC |
| 232 | select MAILBOX |
| 233 | help |
| 234 | Say y here to support STM32 MCU processors via the |
| 235 | remote processor framework. |
| 236 | |
| 237 | You want to say y here in order to enable AMP |
| 238 | use-cases to run on your platform (dedicated firmware could be |
| 239 | offloaded to remote MCU processors using this framework). |
| 240 | |
| 241 | This can be either built-in or a loadable module. |
| 242 | |
Peter Griffin | e41ddbc | 2016-10-18 10:39:08 +0100 | [diff] [blame] | 243 | endif # REMOTEPROC |
Peter Griffin | bb6869b | 2016-10-18 10:39:06 +0100 | [diff] [blame] | 244 | |
Ohad Ben-Cohen | 650d656 | 2011-12-14 13:01:59 +0200 | [diff] [blame] | 245 | endmenu |