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 | |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 26 | config OMAP_REMOTEPROC |
| 27 | tristate "OMAP remoteproc support" |
Vincent Stehlé | e5bc029 | 2013-02-18 12:06:52 +0100 | [diff] [blame] | 28 | depends on ARCH_OMAP4 || SOC_OMAP5 |
Ohad Ben-Cohen | 9cd8eb4 | 2012-02-28 13:04:33 +0200 | [diff] [blame] | 29 | depends on OMAP_IOMMU |
Suman Anna | c869c75 | 2013-03-12 17:55:29 -0500 | [diff] [blame] | 30 | select MAILBOX |
| 31 | select OMAP2PLUS_MBOX |
Ohad Ben-Cohen | 34ed5a3 | 2011-10-20 18:53:35 +0200 | [diff] [blame] | 32 | help |
| 33 | Say y here to support OMAP's remote processors (dual M3 |
| 34 | and DSP on OMAP4) via the remote processor framework. |
| 35 | |
| 36 | Currently only supported on OMAP4. |
| 37 | |
Pavel Machek | a73d946 | 2016-12-19 10:22:50 +0100 | [diff] [blame] | 38 | 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] | 39 | use-cases to run on your platform (multimedia codecs are |
| 40 | offloaded to remote DSP processors using this framework). |
| 41 | |
Pavel Machek | a73d946 | 2016-12-19 10:22:50 +0100 | [diff] [blame] | 42 | 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] | 43 | offloading or just want a bare minimum kernel. |
Ohad Ben-Cohen | 650d656 | 2011-12-14 13:01:59 +0200 | [diff] [blame] | 44 | |
Dave Gerlach | a01bc0d | 2015-05-22 15:45:30 -0500 | [diff] [blame] | 45 | config WKUP_M3_RPROC |
| 46 | tristate "AMx3xx Wakeup M3 remoteproc support" |
| 47 | depends on SOC_AM33XX || SOC_AM43XX |
Dave Gerlach | a01bc0d | 2015-05-22 15:45:30 -0500 | [diff] [blame] | 48 | help |
| 49 | Say y here to support Wakeup M3 remote processor on TI AM33xx |
| 50 | and AM43xx family of SoCs. |
| 51 | |
| 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. |
| 56 | |
Robert Tivy | 13be543 | 2013-04-09 14:20:21 -0700 | [diff] [blame] | 57 | config DA8XX_REMOTEPROC |
| 58 | tristate "DA8xx/OMAP-L13x remoteproc support" |
| 59 | depends on ARCH_DAVINCI_DA8XX |
Suman Anna | c51e882 | 2017-05-18 17:08:59 -0500 | [diff] [blame] | 60 | depends on DMA_CMA |
Robert Tivy | 13be543 | 2013-04-09 14:20:21 -0700 | [diff] [blame] | 61 | help |
| 62 | Say y here to support DA8xx/OMAP-L13x remote processors via the |
| 63 | remote processor framework. |
| 64 | |
| 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). |
| 68 | |
| 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". |
| 74 | |
| 75 | It's safe to say n here if you're not interested in multimedia |
| 76 | offloading. |
| 77 | |
Suman Anna | e88bb8f | 2017-06-13 18:45:12 -0500 | [diff] [blame] | 78 | config KEYSTONE_REMOTEPROC |
| 79 | tristate "Keystone Remoteproc support" |
| 80 | depends on ARCH_KEYSTONE |
Suman Anna | e88bb8f | 2017-06-13 18:45:12 -0500 | [diff] [blame] | 81 | help |
| 82 | Say Y here here to support Keystone remote processors (DSP) |
| 83 | via the remote processor framework. |
| 84 | |
| 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. |
| 87 | |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 88 | config QCOM_RPROC_COMMON |
| 89 | tristate |
| 90 | |
| 91 | config QCOM_Q6V5_COMMON |
| 92 | tristate |
| 93 | depends on ARCH_QCOM |
| 94 | depends on QCOM_SMEM |
| 95 | |
Rohit kumar | dc160e4 | 2018-09-24 16:37:50 +0530 | [diff] [blame] | 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. |
| 110 | |
Bjorn Andersson | ef73c22 | 2018-09-24 16:45:26 -0700 | [diff] [blame] | 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 |
YueHaibing | f1d72c5 | 2019-07-04 14:46:49 +0800 | [diff] [blame] | 119 | select QCOM_MDT_LOADER |
Bjorn Andersson | ef73c22 | 2018-09-24 16:45:26 -0700 | [diff] [blame] | 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. |
| 126 | |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 127 | config QCOM_Q6V5_PAS |
| 128 | tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 129 | depends on OF && ARCH_QCOM |
| 130 | depends on QCOM_SMEM |
Bjorn Andersson | 395a480 | 2017-03-27 22:26:34 -0700 | [diff] [blame] | 131 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Bjorn Andersson | eea0702 | 2017-08-29 16:13:35 -0700 | [diff] [blame] | 132 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 133 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 134 | select MFD_SYSCON |
| 135 | select QCOM_MDT_LOADER |
Bjorn Andersson | 6103b1a | 2018-06-04 13:30:37 -0700 | [diff] [blame] | 136 | select QCOM_Q6V5_COMMON |
Bjorn Andersson | bde440e | 2017-01-27 02:28:32 -0800 | [diff] [blame] | 137 | select QCOM_RPROC_COMMON |
Arnd Bergmann | 8af1d63 | 2016-12-09 12:47:02 +0100 | [diff] [blame] | 138 | select QCOM_SCM |
Bjorn Andersson | b9e718e | 2016-08-22 22:57:44 -0700 | [diff] [blame] | 139 | help |
| 140 | Say y here to support the TrustZone based Peripherial Image Loader |
Bjorn Andersson | 9e004f9 | 2018-09-24 16:45:25 -0700 | [diff] [blame] | 141 | for the Qualcomm Hexagon v5 based remote processors. This is commonly |
| 142 | used to control subsystems such as ADSP, Compute and Sensor. |
Bjorn Andersson | 051fb70 | 2016-06-20 14:28:41 -0700 | [diff] [blame] | 143 | |
Sricharan R | 3a3d416 | 2018-06-07 22:57:11 +0530 | [diff] [blame] | 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 |
Arnd Bergmann | 12c2b50 | 2018-07-18 13:16:26 +0200 | [diff] [blame] | 148 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Sricharan R | 3a3d416 | 2018-06-07 22:57:11 +0530 | [diff] [blame] | 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. |
| 159 | |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 160 | config QCOM_SYSMON |
| 161 | tristate "Qualcomm sysmon driver" |
| 162 | depends on RPMSG |
| 163 | depends on ARCH_QCOM |
Arnd Bergmann | dea4bd1 | 2018-02-22 16:57:38 +0100 | [diff] [blame] | 164 | depends on NET |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 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. |
| 171 | |
| 172 | Say y here if your system runs firmware on any other subsystems, e.g. |
| 173 | modem or DSP. |
| 174 | |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 175 | config QCOM_WCNSS_PIL |
| 176 | tristate "Qualcomm WCNSS Peripheral Image Loader" |
| 177 | depends on OF && ARCH_QCOM |
Bjorn Andersson | 395a480 | 2017-03-27 22:26:34 -0700 | [diff] [blame] | 178 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
Arnd Bergmann | ab759b9 | 2017-09-11 21:54:17 +0200 | [diff] [blame] | 179 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 180 | depends on QCOM_SMEM |
Bjorn Andersson | 1fb82ee | 2017-08-27 21:51:38 -0700 | [diff] [blame] | 181 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 182 | select QCOM_MDT_LOADER |
Bjorn Andersson | bde440e | 2017-01-27 02:28:32 -0800 | [diff] [blame] | 183 | select QCOM_RPROC_COMMON |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 184 | select QCOM_SCM |
Bjorn Andersson | aed361a | 2016-08-12 18:18:59 -0700 | [diff] [blame] | 185 | help |
| 186 | Say y here to support the Peripheral Image Loader for the Qualcomm |
| 187 | Wireless Connectivity Subsystem. |
| 188 | |
Lee Jones | 63edb03 | 2016-01-12 12:46:18 +0000 | [diff] [blame] | 189 | config ST_REMOTEPROC |
| 190 | tristate "ST remoteproc support" |
| 191 | depends on ARCH_STI |
Loic Pallardy | 231c8df | 2017-01-31 13:35:54 +0100 | [diff] [blame] | 192 | select MAILBOX |
| 193 | select STI_MBOX |
Lee Jones | 63edb03 | 2016-01-12 12:46:18 +0000 | [diff] [blame] | 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. |
| 198 | |
Peter Griffin | bb6869b | 2016-10-18 10:39:06 +0100 | [diff] [blame] | 199 | config ST_SLIM_REMOTEPROC |
| 200 | tristate |
Peter Griffin | e41ddbc | 2016-10-18 10:39:08 +0100 | [diff] [blame] | 201 | |
Fabien Dessenne | 13140de | 2019-05-14 10:26:58 +0200 | [diff] [blame] | 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. |
| 210 | |
| 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). |
| 214 | |
| 215 | This can be either built-in or a loadable module. |
| 216 | |
Peter Griffin | e41ddbc | 2016-10-18 10:39:08 +0100 | [diff] [blame] | 217 | endif # REMOTEPROC |
Peter Griffin | bb6869b | 2016-10-18 10:39:06 +0100 | [diff] [blame] | 218 | |
Ohad Ben-Cohen | 650d656 | 2011-12-14 13:01:59 +0200 | [diff] [blame] | 219 | endmenu |