GNU Linux-libre 4.14.266-gnu1
[releases.git] / drivers / remoteproc / Kconfig
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