1# SPDX-License-Identifier: GPL-2.0-only 2menu "Remoteproc drivers" 3 4config 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. 14 15if REMOTEPROC 16 17config 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. 23 24 It's safe to say N here. 25 26config MTK_SCP 27 tristate "Mediatek SCP support" 28 depends on ARCH_MEDIATEK 29 select RPMSG_MTK_SCP 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 36config OMAP_REMOTEPROC 37 tristate "OMAP remoteproc support" 38 depends on ARCH_OMAP4 || SOC_OMAP5 39 depends on OMAP_IOMMU 40 select MAILBOX 41 select OMAP2PLUS_MBOX 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 48 Usually you want to say Y here, in order to enable multimedia 49 use-cases to run on your platform (multimedia codecs are 50 offloaded to remote DSP processors using this framework). 51 52 It's safe to say N here if you're not interested in multimedia 53 offloading or just want a bare minimum kernel. 54 55config WKUP_M3_RPROC 56 tristate "AMx3xx Wakeup M3 remoteproc support" 57 depends on SOC_AM33XX || SOC_AM43XX 58 help 59 Say y here to support Wakeup M3 remote processor on TI AM33xx 60 and AM43xx family of SoCs. 61 62 Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed 63 for deep CPUIdle states on AM33xx SoCs. Allows for loading of the 64 firmware onto these remote processors. 65 If unsure say N. 66 67config DA8XX_REMOTEPROC 68 tristate "DA8xx/OMAP-L13x remoteproc support" 69 depends on ARCH_DAVINCI_DA8XX 70 depends on DMA_CMA 71 help 72 Say y here to support DA8xx/OMAP-L13x remote processors via the 73 remote processor framework. 74 75 You want to say y here in order to enable AMP 76 use-cases to run on your platform (multimedia codecs are 77 offloaded to remote DSP processors using this framework). 78 79 This module controls the name of the firmware file that gets 80 loaded on the DSP. This file must reside in the /lib/firmware 81 directory. It can be specified via the module parameter 82 da8xx_fw_name=<filename>, and if not specified will default to 83 "rproc-dsp-fw". 84 85 It's safe to say n here if you're not interested in multimedia 86 offloading. 87 88config KEYSTONE_REMOTEPROC 89 tristate "Keystone Remoteproc support" 90 depends on ARCH_KEYSTONE 91 help 92 Say Y here here to support Keystone remote processors (DSP) 93 via the remote processor framework. 94 95 It's safe to say N here if you're not interested in the Keystone 96 DSPs or just want to use a bare minimum kernel. 97 98config QCOM_RPROC_COMMON 99 tristate 100 101config QCOM_Q6V5_COMMON 102 tristate 103 depends on ARCH_QCOM 104 depends on QCOM_SMEM 105 106config QCOM_Q6V5_ADSP 107 tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader" 108 depends on OF && ARCH_QCOM 109 depends on QCOM_SMEM 110 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 111 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 112 depends on QCOM_SYSMON || QCOM_SYSMON=n 113 select MFD_SYSCON 114 select QCOM_MDT_LOADER 115 select QCOM_Q6V5_COMMON 116 select QCOM_RPROC_COMMON 117 help 118 Say y here to support the Peripheral Image Loader 119 for the Qualcomm Technology Inc. ADSP remote processors. 120 121config QCOM_Q6V5_MSS 122 tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support" 123 depends on OF && ARCH_QCOM 124 depends on QCOM_SMEM 125 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 126 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 127 depends on QCOM_SYSMON || QCOM_SYSMON=n 128 select MFD_SYSCON 129 select QCOM_MDT_LOADER 130 select QCOM_Q6V5_COMMON 131 select QCOM_RPROC_COMMON 132 select QCOM_SCM 133 help 134 Say y here to support the Qualcomm self-authenticating modem 135 subsystem based on Hexagon V5. 136 137config QCOM_Q6V5_PAS 138 tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" 139 depends on OF && ARCH_QCOM 140 depends on QCOM_SMEM 141 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 142 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 143 depends on QCOM_SYSMON || QCOM_SYSMON=n 144 select MFD_SYSCON 145 select QCOM_MDT_LOADER 146 select QCOM_Q6V5_COMMON 147 select QCOM_RPROC_COMMON 148 select QCOM_SCM 149 help 150 Say y here to support the TrustZone based Peripherial Image Loader 151 for the Qualcomm Hexagon v5 based remote processors. This is commonly 152 used to control subsystems such as ADSP, Compute and Sensor. 153 154config QCOM_Q6V5_WCSS 155 tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" 156 depends on OF && ARCH_QCOM 157 depends on QCOM_SMEM 158 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 159 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 160 depends on QCOM_SYSMON || QCOM_SYSMON=n 161 select MFD_SYSCON 162 select QCOM_MDT_LOADER 163 select QCOM_Q6V5_COMMON 164 select QCOM_RPROC_COMMON 165 select QCOM_SCM 166 help 167 Say y here to support the Qualcomm Peripheral Image Loader for the 168 Hexagon V5 based WCSS remote processors. 169 170config QCOM_SYSMON 171 tristate "Qualcomm sysmon driver" 172 depends on RPMSG 173 depends on ARCH_QCOM 174 depends on NET 175 select QCOM_QMI_HELPERS 176 help 177 The sysmon driver implements a sysmon QMI client and a handler for 178 the sys_mon SMD and GLINK channel, which are used for graceful 179 shutdown, retrieving failure information and propagating information 180 about other subsystems being shut down. 181 182 Say y here if your system runs firmware on any other subsystems, e.g. 183 modem or DSP. 184 185config QCOM_WCNSS_PIL 186 tristate "Qualcomm WCNSS Peripheral Image Loader" 187 depends on OF && ARCH_QCOM 188 depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 189 depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 190 depends on QCOM_SMEM 191 depends on QCOM_SYSMON || QCOM_SYSMON=n 192 select QCOM_MDT_LOADER 193 select QCOM_RPROC_COMMON 194 select QCOM_SCM 195 help 196 Say y here to support the Peripheral Image Loader for the Qualcomm 197 Wireless Connectivity Subsystem. 198 199config ST_REMOTEPROC 200 tristate "ST remoteproc support" 201 depends on ARCH_STI 202 select MAILBOX 203 select STI_MBOX 204 help 205 Say y here to support ST's adjunct processors via the remote 206 processor framework. 207 This can be either built-in or a loadable module. 208 209config ST_SLIM_REMOTEPROC 210 tristate 211 212config STM32_RPROC 213 tristate "STM32 remoteproc support" 214 depends on ARCH_STM32 215 depends on REMOTEPROC 216 select MAILBOX 217 help 218 Say y here to support STM32 MCU processors via the 219 remote processor framework. 220 221 You want to say y here in order to enable AMP 222 use-cases to run on your platform (dedicated firmware could be 223 offloaded to remote MCU processors using this framework). 224 225 This can be either built-in or a loadable module. 226 227endif # REMOTEPROC 228 229endmenu 230