| xj | b04a402 | 2021-11-25 15:01:52 +0800 | [diff] [blame] | 1 | menu "Remoteproc drivers" |
| 2 | |
| 3 | config REMOTEPROC |
| 4 | tristate "Support for Remote Processor subsystem" |
| 5 | depends on HAS_DMA |
| 6 | select CRC32 |
| 7 | select FW_LOADER |
| 8 | select VIRTIO |
| 9 | select WANT_DEV_COREDUMP |
| 10 | help |
| 11 | Support for remote processors (such as DSP coprocessors). These |
| 12 | are mainly used on embedded systems. |
| 13 | |
| 14 | if REMOTEPROC |
| 15 | |
| 16 | config IMX_REMOTEPROC |
| 17 | tristate "IMX6/7 remoteproc support" |
| 18 | depends on SOC_IMX6SX || SOC_IMX7D |
| 19 | 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 | |
| 25 | config OMAP_REMOTEPROC |
| 26 | tristate "OMAP remoteproc support" |
| 27 | depends on ARCH_OMAP4 || SOC_OMAP5 |
| 28 | depends on OMAP_IOMMU |
| 29 | select MAILBOX |
| 30 | select OMAP2PLUS_MBOX |
| 31 | 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 | |
| 37 | Usually you want to say Y here, in order to enable multimedia |
| 38 | use-cases to run on your platform (multimedia codecs are |
| 39 | offloaded to remote DSP processors using this framework). |
| 40 | |
| 41 | It's safe to say N here if you're not interested in multimedia |
| 42 | offloading or just want a bare minimum kernel. |
| 43 | |
| 44 | config WKUP_M3_RPROC |
| 45 | tristate "AMx3xx Wakeup M3 remoteproc support" |
| 46 | depends on SOC_AM33XX || SOC_AM43XX |
| 47 | 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 | |
| 56 | config DA8XX_REMOTEPROC |
| 57 | tristate "DA8xx/OMAP-L13x remoteproc support" |
| 58 | depends on ARCH_DAVINCI_DA8XX |
| 59 | depends on DMA_CMA |
| 60 | 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 | |
| 77 | config KEYSTONE_REMOTEPROC |
| 78 | tristate "Keystone Remoteproc support" |
| 79 | depends on ARCH_KEYSTONE |
| 80 | 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 | |
| 87 | config QCOM_ADSP_PIL |
| 88 | tristate "Qualcomm ADSP Peripheral Image Loader" |
| 89 | depends on OF && ARCH_QCOM |
| 90 | depends on QCOM_SMEM |
| 91 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 92 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 93 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 94 | select MFD_SYSCON |
| 95 | select QCOM_MDT_LOADER |
| 96 | select QCOM_Q6V5_COMMON |
| 97 | select QCOM_RPROC_COMMON |
| 98 | select QCOM_SCM |
| 99 | help |
| 100 | Say y here to support the TrustZone based Peripherial Image Loader |
| 101 | for the Qualcomm ADSP remote processors. |
| 102 | |
| 103 | config QCOM_RPROC_COMMON |
| 104 | tristate |
| 105 | |
| 106 | config QCOM_Q6V5_COMMON |
| 107 | tristate |
| 108 | depends on ARCH_QCOM |
| 109 | depends on QCOM_SMEM |
| 110 | |
| 111 | config QCOM_Q6V5_PIL |
| 112 | tristate "Qualcomm Hexagon V5 Peripherial Image Loader" |
| 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 |
| 119 | select QCOM_Q6V5_COMMON |
| 120 | select QCOM_RPROC_COMMON |
| 121 | select QCOM_SCM |
| 122 | help |
| 123 | Say y here to support the Qualcomm Peripherial Image Loader for the |
| 124 | Hexagon V5 based remote processors. |
| 125 | |
| 126 | config QCOM_Q6V5_WCSS |
| 127 | tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader" |
| 128 | depends on OF && ARCH_QCOM |
| 129 | depends on QCOM_SMEM |
| 130 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 131 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 132 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 133 | select MFD_SYSCON |
| 134 | select QCOM_MDT_LOADER |
| 135 | select QCOM_Q6V5_COMMON |
| 136 | select QCOM_RPROC_COMMON |
| 137 | select QCOM_SCM |
| 138 | help |
| 139 | Say y here to support the Qualcomm Peripheral Image Loader for the |
| 140 | Hexagon V5 based WCSS remote processors. |
| 141 | |
| 142 | config QCOM_SYSMON |
| 143 | tristate "Qualcomm sysmon driver" |
| 144 | depends on RPMSG |
| 145 | depends on ARCH_QCOM |
| 146 | depends on NET |
| 147 | select QCOM_QMI_HELPERS |
| 148 | help |
| 149 | The sysmon driver implements a sysmon QMI client and a handler for |
| 150 | the sys_mon SMD and GLINK channel, which are used for graceful |
| 151 | shutdown, retrieving failure information and propagating information |
| 152 | about other subsystems being shut down. |
| 153 | |
| 154 | Say y here if your system runs firmware on any other subsystems, e.g. |
| 155 | modem or DSP. |
| 156 | |
| 157 | config QCOM_WCNSS_PIL |
| 158 | tristate "Qualcomm WCNSS Peripheral Image Loader" |
| 159 | depends on OF && ARCH_QCOM |
| 160 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 161 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 162 | depends on QCOM_SMEM |
| 163 | depends on QCOM_SYSMON || QCOM_SYSMON=n |
| 164 | select QCOM_MDT_LOADER |
| 165 | select QCOM_RPROC_COMMON |
| 166 | select QCOM_SCM |
| 167 | help |
| 168 | Say y here to support the Peripheral Image Loader for the Qualcomm |
| 169 | Wireless Connectivity Subsystem. |
| 170 | |
| 171 | config ST_REMOTEPROC |
| 172 | tristate "ST remoteproc support" |
| 173 | depends on ARCH_STI |
| 174 | select MAILBOX |
| 175 | select STI_MBOX |
| 176 | help |
| 177 | Say y here to support ST's adjunct processors via the remote |
| 178 | processor framework. |
| 179 | This can be either built-in or a loadable module. |
| 180 | |
| 181 | config ST_SLIM_REMOTEPROC |
| 182 | tristate |
| 183 | |
| 184 | endif # REMOTEPROC |
| 185 | |
| 186 | endmenu |