18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_cimenu "Remoteproc drivers" 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciconfig REMOTEPROC 58c2ecf20Sopenharmony_ci bool "Support for Remote Processor subsystem" 68c2ecf20Sopenharmony_ci depends on HAS_DMA 78c2ecf20Sopenharmony_ci select CRC32 88c2ecf20Sopenharmony_ci select FW_LOADER 98c2ecf20Sopenharmony_ci select VIRTIO 108c2ecf20Sopenharmony_ci select WANT_DEV_COREDUMP 118c2ecf20Sopenharmony_ci help 128c2ecf20Sopenharmony_ci Support for remote processors (such as DSP coprocessors). These 138c2ecf20Sopenharmony_ci are mainly used on embedded systems. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciif REMOTEPROC 168c2ecf20Sopenharmony_ci 178c2ecf20Sopenharmony_ciconfig REMOTEPROC_CDEV 188c2ecf20Sopenharmony_ci bool "Remoteproc character device interface" 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci Say y here to have a character device interface for the remoteproc 218c2ecf20Sopenharmony_ci framework. Userspace can boot/shutdown remote processors through 228c2ecf20Sopenharmony_ci this interface. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ci It's safe to say N if you don't want to use this interface. 258c2ecf20Sopenharmony_ci 268c2ecf20Sopenharmony_ciconfig IMX_REMOTEPROC 278c2ecf20Sopenharmony_ci tristate "IMX6/7 remoteproc support" 288c2ecf20Sopenharmony_ci depends on ARCH_MXC 298c2ecf20Sopenharmony_ci help 308c2ecf20Sopenharmony_ci Say y here to support iMX's remote processors (Cortex M4 318c2ecf20Sopenharmony_ci on iMX7D) via the remote processor framework. 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci It's safe to say N here. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig INGENIC_VPU_RPROC 368c2ecf20Sopenharmony_ci tristate "Ingenic JZ47xx VPU remoteproc support" 378c2ecf20Sopenharmony_ci depends on MIPS || COMPILE_TEST 388c2ecf20Sopenharmony_ci help 398c2ecf20Sopenharmony_ci Say y or m here to support the VPU in the JZ47xx SoCs from Ingenic. 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ci This can be either built-in or a loadable module. 428c2ecf20Sopenharmony_ci If unsure say N. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciconfig MTK_SCP 458c2ecf20Sopenharmony_ci tristate "Mediatek SCP support" 468c2ecf20Sopenharmony_ci depends on ARCH_MEDIATEK || COMPILE_TEST 478c2ecf20Sopenharmony_ci select RPMSG_MTK_SCP 488c2ecf20Sopenharmony_ci help 498c2ecf20Sopenharmony_ci Say y here to support Mediatek's System Companion Processor (SCP) via 508c2ecf20Sopenharmony_ci the remote processor framework. 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci It's safe to say N here. 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ciconfig OMAP_REMOTEPROC 558c2ecf20Sopenharmony_ci tristate "OMAP remoteproc support" 568c2ecf20Sopenharmony_ci depends on ARCH_OMAP4 || SOC_OMAP5 || SOC_DRA7XX 578c2ecf20Sopenharmony_ci depends on OMAP_IOMMU 588c2ecf20Sopenharmony_ci select MAILBOX 598c2ecf20Sopenharmony_ci select OMAP2PLUS_MBOX 608c2ecf20Sopenharmony_ci help 618c2ecf20Sopenharmony_ci Say y here to support OMAP's remote processors (dual M3 628c2ecf20Sopenharmony_ci and DSP on OMAP4) via the remote processor framework. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci Currently only supported on OMAP4. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ci Usually you want to say Y here, in order to enable multimedia 678c2ecf20Sopenharmony_ci use-cases to run on your platform (multimedia codecs are 688c2ecf20Sopenharmony_ci offloaded to remote DSP processors using this framework). 698c2ecf20Sopenharmony_ci 708c2ecf20Sopenharmony_ci It's safe to say N here if you're not interested in multimedia 718c2ecf20Sopenharmony_ci offloading or just want a bare minimum kernel. 728c2ecf20Sopenharmony_ci 738c2ecf20Sopenharmony_ciconfig OMAP_REMOTEPROC_WATCHDOG 748c2ecf20Sopenharmony_ci bool "OMAP remoteproc watchdog timer" 758c2ecf20Sopenharmony_ci depends on OMAP_REMOTEPROC 768c2ecf20Sopenharmony_ci default n 778c2ecf20Sopenharmony_ci help 788c2ecf20Sopenharmony_ci Say Y here to enable watchdog timer for remote processors. 798c2ecf20Sopenharmony_ci 808c2ecf20Sopenharmony_ci This option controls the watchdog functionality for the remote 818c2ecf20Sopenharmony_ci processors in OMAP. Dedicated OMAP DMTimers are used by the remote 828c2ecf20Sopenharmony_ci processors and triggers the timer interrupt upon a watchdog 838c2ecf20Sopenharmony_ci detection. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ciconfig WKUP_M3_RPROC 868c2ecf20Sopenharmony_ci tristate "AMx3xx Wakeup M3 remoteproc support" 878c2ecf20Sopenharmony_ci depends on SOC_AM33XX || SOC_AM43XX 888c2ecf20Sopenharmony_ci help 898c2ecf20Sopenharmony_ci Say y here to support Wakeup M3 remote processor on TI AM33xx 908c2ecf20Sopenharmony_ci and AM43xx family of SoCs. 918c2ecf20Sopenharmony_ci 928c2ecf20Sopenharmony_ci Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed 938c2ecf20Sopenharmony_ci for deep CPUIdle states on AM33xx SoCs. Allows for loading of the 948c2ecf20Sopenharmony_ci firmware onto these remote processors. 958c2ecf20Sopenharmony_ci If unsure say N. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ciconfig DA8XX_REMOTEPROC 988c2ecf20Sopenharmony_ci tristate "DA8xx/OMAP-L13x remoteproc support" 998c2ecf20Sopenharmony_ci depends on ARCH_DAVINCI_DA8XX 1008c2ecf20Sopenharmony_ci depends on DMA_CMA 1018c2ecf20Sopenharmony_ci help 1028c2ecf20Sopenharmony_ci Say y here to support DA8xx/OMAP-L13x remote processors via the 1038c2ecf20Sopenharmony_ci remote processor framework. 1048c2ecf20Sopenharmony_ci 1058c2ecf20Sopenharmony_ci You want to say y here in order to enable AMP 1068c2ecf20Sopenharmony_ci use-cases to run on your platform (multimedia codecs are 1078c2ecf20Sopenharmony_ci offloaded to remote DSP processors using this framework). 1088c2ecf20Sopenharmony_ci 1098c2ecf20Sopenharmony_ci This module controls the name of the firmware file that gets 1108c2ecf20Sopenharmony_ci loaded on the DSP. This file must reside in the /lib/firmware 1118c2ecf20Sopenharmony_ci directory. It can be specified via the module parameter 1128c2ecf20Sopenharmony_ci da8xx_fw_name=<filename>, and if not specified will default to 1138c2ecf20Sopenharmony_ci "rproc-dsp-fw". 1148c2ecf20Sopenharmony_ci 1158c2ecf20Sopenharmony_ci It's safe to say n here if you're not interested in multimedia 1168c2ecf20Sopenharmony_ci offloading. 1178c2ecf20Sopenharmony_ci 1188c2ecf20Sopenharmony_ciconfig KEYSTONE_REMOTEPROC 1198c2ecf20Sopenharmony_ci tristate "Keystone Remoteproc support" 1208c2ecf20Sopenharmony_ci depends on ARCH_KEYSTONE 1218c2ecf20Sopenharmony_ci help 1228c2ecf20Sopenharmony_ci Say Y here here to support Keystone remote processors (DSP) 1238c2ecf20Sopenharmony_ci via the remote processor framework. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci It's safe to say N here if you're not interested in the Keystone 1268c2ecf20Sopenharmony_ci DSPs or just want to use a bare minimum kernel. 1278c2ecf20Sopenharmony_ci 1288c2ecf20Sopenharmony_ciconfig QCOM_PIL_INFO 1298c2ecf20Sopenharmony_ci tristate 1308c2ecf20Sopenharmony_ci 1318c2ecf20Sopenharmony_ciconfig QCOM_RPROC_COMMON 1328c2ecf20Sopenharmony_ci tristate 1338c2ecf20Sopenharmony_ci 1348c2ecf20Sopenharmony_ciconfig QCOM_Q6V5_COMMON 1358c2ecf20Sopenharmony_ci tristate 1368c2ecf20Sopenharmony_ci depends on ARCH_QCOM 1378c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ciconfig QCOM_Q6V5_ADSP 1408c2ecf20Sopenharmony_ci tristate "Qualcomm Technology Inc ADSP Peripheral Image Loader" 1418c2ecf20Sopenharmony_ci depends on OF && ARCH_QCOM 1428c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1438c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 1448c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 1458c2ecf20Sopenharmony_ci depends on QCOM_SYSMON || QCOM_SYSMON=n 1468c2ecf20Sopenharmony_ci select MFD_SYSCON 1478c2ecf20Sopenharmony_ci select QCOM_PIL_INFO 1488c2ecf20Sopenharmony_ci select QCOM_MDT_LOADER 1498c2ecf20Sopenharmony_ci select QCOM_Q6V5_COMMON 1508c2ecf20Sopenharmony_ci select QCOM_RPROC_COMMON 1518c2ecf20Sopenharmony_ci help 1528c2ecf20Sopenharmony_ci Say y here to support the Peripheral Image Loader 1538c2ecf20Sopenharmony_ci for the Qualcomm Technology Inc. ADSP remote processors. 1548c2ecf20Sopenharmony_ci 1558c2ecf20Sopenharmony_ciconfig QCOM_Q6V5_MSS 1568c2ecf20Sopenharmony_ci tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support" 1578c2ecf20Sopenharmony_ci depends on OF && ARCH_QCOM 1588c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1598c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 1608c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 1618c2ecf20Sopenharmony_ci depends on QCOM_SYSMON || QCOM_SYSMON=n 1628c2ecf20Sopenharmony_ci select MFD_SYSCON 1638c2ecf20Sopenharmony_ci select QCOM_MDT_LOADER 1648c2ecf20Sopenharmony_ci select QCOM_PIL_INFO 1658c2ecf20Sopenharmony_ci select QCOM_Q6V5_COMMON 1668c2ecf20Sopenharmony_ci select QCOM_RPROC_COMMON 1678c2ecf20Sopenharmony_ci select QCOM_SCM 1688c2ecf20Sopenharmony_ci help 1698c2ecf20Sopenharmony_ci Say y here to support the Qualcomm self-authenticating modem 1708c2ecf20Sopenharmony_ci subsystem based on Hexagon V5. 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig QCOM_Q6V5_PAS 1738c2ecf20Sopenharmony_ci tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support" 1748c2ecf20Sopenharmony_ci depends on OF && ARCH_QCOM 1758c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1768c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 1778c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 1788c2ecf20Sopenharmony_ci depends on QCOM_SYSMON || QCOM_SYSMON=n 1798c2ecf20Sopenharmony_ci select MFD_SYSCON 1808c2ecf20Sopenharmony_ci select QCOM_PIL_INFO 1818c2ecf20Sopenharmony_ci select QCOM_MDT_LOADER 1828c2ecf20Sopenharmony_ci select QCOM_Q6V5_COMMON 1838c2ecf20Sopenharmony_ci select QCOM_RPROC_COMMON 1848c2ecf20Sopenharmony_ci select QCOM_SCM 1858c2ecf20Sopenharmony_ci help 1868c2ecf20Sopenharmony_ci Say y here to support the TrustZone based Peripherial Image Loader 1878c2ecf20Sopenharmony_ci for the Qualcomm Hexagon v5 based remote processors. This is commonly 1888c2ecf20Sopenharmony_ci used to control subsystems such as ADSP, Compute and Sensor. 1898c2ecf20Sopenharmony_ci 1908c2ecf20Sopenharmony_ciconfig QCOM_Q6V5_WCSS 1918c2ecf20Sopenharmony_ci tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" 1928c2ecf20Sopenharmony_ci depends on OF && ARCH_QCOM 1938c2ecf20Sopenharmony_ci depends on QCOM_SMEM 1948c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 1958c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 1968c2ecf20Sopenharmony_ci depends on QCOM_SYSMON || QCOM_SYSMON=n 1978c2ecf20Sopenharmony_ci select MFD_SYSCON 1988c2ecf20Sopenharmony_ci select QCOM_MDT_LOADER 1998c2ecf20Sopenharmony_ci select QCOM_PIL_INFO 2008c2ecf20Sopenharmony_ci select QCOM_Q6V5_COMMON 2018c2ecf20Sopenharmony_ci select QCOM_RPROC_COMMON 2028c2ecf20Sopenharmony_ci select QCOM_SCM 2038c2ecf20Sopenharmony_ci help 2048c2ecf20Sopenharmony_ci Say y here to support the Qualcomm Peripheral Image Loader for the 2058c2ecf20Sopenharmony_ci Hexagon V5 based WCSS remote processors. 2068c2ecf20Sopenharmony_ci 2078c2ecf20Sopenharmony_ciconfig QCOM_SYSMON 2088c2ecf20Sopenharmony_ci tristate "Qualcomm sysmon driver" 2098c2ecf20Sopenharmony_ci depends on RPMSG 2108c2ecf20Sopenharmony_ci depends on ARCH_QCOM 2118c2ecf20Sopenharmony_ci depends on NET 2128c2ecf20Sopenharmony_ci select QCOM_QMI_HELPERS 2138c2ecf20Sopenharmony_ci help 2148c2ecf20Sopenharmony_ci The sysmon driver implements a sysmon QMI client and a handler for 2158c2ecf20Sopenharmony_ci the sys_mon SMD and GLINK channel, which are used for graceful 2168c2ecf20Sopenharmony_ci shutdown, retrieving failure information and propagating information 2178c2ecf20Sopenharmony_ci about other subsystems being shut down. 2188c2ecf20Sopenharmony_ci 2198c2ecf20Sopenharmony_ci Say y here if your system runs firmware on any other subsystems, e.g. 2208c2ecf20Sopenharmony_ci modem or DSP. 2218c2ecf20Sopenharmony_ci 2228c2ecf20Sopenharmony_ciconfig QCOM_WCNSS_PIL 2238c2ecf20Sopenharmony_ci tristate "Qualcomm WCNSS Peripheral Image Loader" 2248c2ecf20Sopenharmony_ci depends on OF && ARCH_QCOM 2258c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) 2268c2ecf20Sopenharmony_ci depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n 2278c2ecf20Sopenharmony_ci depends on QCOM_SMEM 2288c2ecf20Sopenharmony_ci depends on QCOM_SYSMON || QCOM_SYSMON=n 2298c2ecf20Sopenharmony_ci select QCOM_MDT_LOADER 2308c2ecf20Sopenharmony_ci select QCOM_PIL_INFO 2318c2ecf20Sopenharmony_ci select QCOM_RPROC_COMMON 2328c2ecf20Sopenharmony_ci select QCOM_SCM 2338c2ecf20Sopenharmony_ci help 2348c2ecf20Sopenharmony_ci Say y here to support the Peripheral Image Loader for the Qualcomm 2358c2ecf20Sopenharmony_ci Wireless Connectivity Subsystem. 2368c2ecf20Sopenharmony_ci 2378c2ecf20Sopenharmony_ciconfig ST_REMOTEPROC 2388c2ecf20Sopenharmony_ci tristate "ST remoteproc support" 2398c2ecf20Sopenharmony_ci depends on ARCH_STI 2408c2ecf20Sopenharmony_ci select MAILBOX 2418c2ecf20Sopenharmony_ci select STI_MBOX 2428c2ecf20Sopenharmony_ci help 2438c2ecf20Sopenharmony_ci Say y here to support ST's adjunct processors via the remote 2448c2ecf20Sopenharmony_ci processor framework. 2458c2ecf20Sopenharmony_ci This can be either built-in or a loadable module. 2468c2ecf20Sopenharmony_ci 2478c2ecf20Sopenharmony_ciconfig ST_SLIM_REMOTEPROC 2488c2ecf20Sopenharmony_ci tristate 2498c2ecf20Sopenharmony_ci 2508c2ecf20Sopenharmony_ciconfig STM32_RPROC 2518c2ecf20Sopenharmony_ci tristate "STM32 remoteproc support" 2528c2ecf20Sopenharmony_ci depends on ARCH_STM32 2538c2ecf20Sopenharmony_ci depends on REMOTEPROC 2548c2ecf20Sopenharmony_ci select MAILBOX 2558c2ecf20Sopenharmony_ci help 2568c2ecf20Sopenharmony_ci Say y here to support STM32 MCU processors via the 2578c2ecf20Sopenharmony_ci remote processor framework. 2588c2ecf20Sopenharmony_ci 2598c2ecf20Sopenharmony_ci You want to say y here in order to enable AMP 2608c2ecf20Sopenharmony_ci use-cases to run on your platform (dedicated firmware could be 2618c2ecf20Sopenharmony_ci offloaded to remote MCU processors using this framework). 2628c2ecf20Sopenharmony_ci 2638c2ecf20Sopenharmony_ci This can be either built-in or a loadable module. 2648c2ecf20Sopenharmony_ci 2658c2ecf20Sopenharmony_ciconfig TI_K3_DSP_REMOTEPROC 2668c2ecf20Sopenharmony_ci tristate "TI K3 DSP remoteproc support" 2678c2ecf20Sopenharmony_ci depends on ARCH_K3 2688c2ecf20Sopenharmony_ci select MAILBOX 2698c2ecf20Sopenharmony_ci select OMAP2PLUS_MBOX 2708c2ecf20Sopenharmony_ci help 2718c2ecf20Sopenharmony_ci Say m here to support TI's C66x and C71x DSP remote processor 2728c2ecf20Sopenharmony_ci subsystems on various TI K3 family of SoCs through the remote 2738c2ecf20Sopenharmony_ci processor framework. 2748c2ecf20Sopenharmony_ci 2758c2ecf20Sopenharmony_ci It's safe to say N here if you're not interested in utilizing 2768c2ecf20Sopenharmony_ci the DSP slave processors. 2778c2ecf20Sopenharmony_ci 2788c2ecf20Sopenharmony_ciconfig TI_K3_R5_REMOTEPROC 2798c2ecf20Sopenharmony_ci tristate "TI K3 R5 remoteproc support" 2808c2ecf20Sopenharmony_ci depends on ARCH_K3 2818c2ecf20Sopenharmony_ci select MAILBOX 2828c2ecf20Sopenharmony_ci select OMAP2PLUS_MBOX 2838c2ecf20Sopenharmony_ci help 2848c2ecf20Sopenharmony_ci Say m here to support TI's R5F remote processor subsystems 2858c2ecf20Sopenharmony_ci on various TI K3 family of SoCs through the remote processor 2868c2ecf20Sopenharmony_ci framework. 2878c2ecf20Sopenharmony_ci 2888c2ecf20Sopenharmony_ci It's safe to say N here if you're not interested in utilizing 2898c2ecf20Sopenharmony_ci a slave processor. 2908c2ecf20Sopenharmony_ci 2918c2ecf20Sopenharmony_ciendif # REMOTEPROC 2928c2ecf20Sopenharmony_ci 2938c2ecf20Sopenharmony_ciendmenu 294