| rjw | 1f88458 | 2022-01-06 17:20:42 +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 | help |
| 10 | Support for remote processors (such as DSP coprocessors). These |
| 11 | are mainly used on embedded systems. |
| 12 | |
| 13 | if REMOTEPROC |
| 14 | |
| 15 | config IMX_REMOTEPROC |
| 16 | tristate "IMX6/7 remoteproc support" |
| 17 | depends on SOC_IMX6SX || SOC_IMX7D |
| 18 | help |
| 19 | Say y here to support iMX's remote processors (Cortex M4 |
| 20 | on iMX7D) via the remote processor framework. |
| 21 | |
| 22 | It's safe to say N here. |
| 23 | |
| 24 | config OMAP_REMOTEPROC |
| 25 | tristate "OMAP remoteproc support" |
| 26 | depends on HAS_DMA |
| 27 | depends on ARCH_OMAP4 || SOC_OMAP5 |
| 28 | depends on OMAP_IOMMU |
| 29 | select MAILBOX |
| 30 | select OMAP2PLUS_MBOX |
| 31 | select RPMSG_VIRTIO |
| 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 | |
| 38 | Usually you want to say Y here, in order to enable multimedia |
| 39 | use-cases to run on your platform (multimedia codecs are |
| 40 | offloaded to remote DSP processors using this framework). |
| 41 | |
| 42 | It's safe to say N here if you're not interested in multimedia |
| 43 | offloading or just want a bare minimum kernel. |
| 44 | |
| 45 | config WKUP_M3_RPROC |
| 46 | tristate "AMx3xx Wakeup M3 remoteproc support" |
| 47 | depends on SOC_AM33XX || SOC_AM43XX |
| 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 | |
| 57 | config DA8XX_REMOTEPROC |
| 58 | tristate "DA8xx/OMAP-L13x remoteproc support" |
| 59 | depends on ARCH_DAVINCI_DA8XX |
| 60 | depends on DMA_CMA |
| 61 | select RPMSG_VIRTIO |
| 62 | help |
| 63 | Say y here to support DA8xx/OMAP-L13x remote processors via the |
| 64 | remote processor framework. |
| 65 | |
| 66 | You want to say y here in order to enable AMP |
| 67 | use-cases to run on your platform (multimedia codecs are |
| 68 | offloaded to remote DSP processors using this framework). |
| 69 | |
| 70 | This module controls the name of the firmware file that gets |
| 71 | loaded on the DSP. This file must reside in the /lib/firmware |
| 72 | directory. It can be specified via the module parameter |
| 73 | da8xx_fw_name=<filename>, and if not specified will default to |
| 74 | "rproc-dsp-fw". |
| 75 | |
| 76 | It's safe to say n here if you're not interested in multimedia |
| 77 | offloading. |
| 78 | |
| 79 | config KEYSTONE_REMOTEPROC |
| 80 | tristate "Keystone Remoteproc support" |
| 81 | depends on ARCH_KEYSTONE |
| 82 | select RPMSG_VIRTIO |
| 83 | help |
| 84 | Say Y here here to support Keystone remote processors (DSP) |
| 85 | via the remote processor framework. |
| 86 | |
| 87 | It's safe to say N here if you're not interested in the Keystone |
| 88 | DSPs or just want to use a bare minimum kernel. |
| 89 | |
| 90 | config QCOM_ADSP_PIL |
| 91 | tristate "Qualcomm ADSP Peripheral Image Loader" |
| 92 | depends on OF && ARCH_QCOM |
| 93 | depends on QCOM_SMEM |
| 94 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 95 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 96 | select MFD_SYSCON |
| 97 | select QCOM_MDT_LOADER |
| 98 | select QCOM_RPROC_COMMON |
| 99 | select QCOM_SCM |
| 100 | help |
| 101 | Say y here to support the TrustZone based Peripherial Image Loader |
| 102 | for the Qualcomm ADSP remote processors. |
| 103 | |
| 104 | config QCOM_RPROC_COMMON |
| 105 | tristate |
| 106 | |
| 107 | config QCOM_Q6V5_PIL |
| 108 | tristate "Qualcomm Hexagon V5 Peripherial Image Loader" |
| 109 | depends on OF && ARCH_QCOM |
| 110 | depends on QCOM_SMEM |
| 111 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 112 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 113 | select MFD_SYSCON |
| 114 | select QCOM_RPROC_COMMON |
| 115 | select QCOM_SCM |
| 116 | help |
| 117 | Say y here to support the Qualcomm Peripherial Image Loader for the |
| 118 | Hexagon V5 based remote processors. |
| 119 | |
| 120 | config QCOM_WCNSS_PIL |
| 121 | tristate "Qualcomm WCNSS Peripheral Image Loader" |
| 122 | depends on OF && ARCH_QCOM |
| 123 | depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n) |
| 124 | depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n |
| 125 | depends on QCOM_SMEM |
| 126 | select QCOM_MDT_LOADER |
| 127 | select QCOM_RPROC_COMMON |
| 128 | select QCOM_SCM |
| 129 | help |
| 130 | Say y here to support the Peripheral Image Loader for the Qualcomm |
| 131 | Wireless Connectivity Subsystem. |
| 132 | |
| 133 | config ST_REMOTEPROC |
| 134 | tristate "ST remoteproc support" |
| 135 | depends on ARCH_STI |
| 136 | select MAILBOX |
| 137 | select STI_MBOX |
| 138 | select RPMSG_VIRTIO |
| 139 | help |
| 140 | Say y here to support ST's adjunct processors via the remote |
| 141 | processor framework. |
| 142 | This can be either built-in or a loadable module. |
| 143 | |
| 144 | config ST_SLIM_REMOTEPROC |
| 145 | tristate |
| 146 | |
| 147 | endif # REMOTEPROC |
| 148 | |
| 149 | endmenu |