8894935583e2438ce27e277e085be55226d214a3
[sfrench/cifs-2.6.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         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_RPROC_COMMON
88         tristate
89
90 config QCOM_Q6V5_COMMON
91         tristate
92         depends on ARCH_QCOM
93         depends on QCOM_SMEM
94
95 config QCOM_Q6V5_MSS
96         tristate "Qualcomm Hexagon V5 self-authenticating modem subsystem support"
97         depends on OF && ARCH_QCOM
98         depends on QCOM_SMEM
99         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
100         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
101         depends on QCOM_SYSMON || QCOM_SYSMON=n
102         select MFD_SYSCON
103         select QCOM_Q6V5_COMMON
104         select QCOM_RPROC_COMMON
105         select QCOM_SCM
106         help
107           Say y here to support the Qualcomm self-authenticating modem
108           subsystem based on Hexagon V5.
109
110 config QCOM_Q6V5_PAS
111         tristate "Qualcomm Hexagon v5 Peripheral Authentication Service support"
112         depends on OF && ARCH_QCOM
113         depends on QCOM_SMEM
114         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
115         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
116         depends on QCOM_SYSMON || QCOM_SYSMON=n
117         select MFD_SYSCON
118         select QCOM_MDT_LOADER
119         select QCOM_Q6V5_COMMON
120         select QCOM_RPROC_COMMON
121         select QCOM_SCM
122         help
123           Say y here to support the TrustZone based Peripherial Image Loader
124           for the Qualcomm Hexagon v5 based remote processors. This is commonly
125           used to control subsystems such as ADSP, Compute and Sensor.
126
127 config QCOM_Q6V5_WCSS
128         tristate "Qualcomm Hexagon based WCSS Peripheral Image Loader"
129         depends on OF && ARCH_QCOM
130         depends on QCOM_SMEM
131         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
132         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
133         depends on QCOM_SYSMON || QCOM_SYSMON=n
134         select MFD_SYSCON
135         select QCOM_MDT_LOADER
136         select QCOM_Q6V5_COMMON
137         select QCOM_RPROC_COMMON
138         select QCOM_SCM
139         help
140           Say y here to support the Qualcomm Peripheral Image Loader for the
141           Hexagon V5 based WCSS remote processors.
142
143 config QCOM_SYSMON
144         tristate "Qualcomm sysmon driver"
145         depends on RPMSG
146         depends on ARCH_QCOM
147         depends on NET
148         select QCOM_QMI_HELPERS
149         help
150           The sysmon driver implements a sysmon QMI client and a handler for
151           the sys_mon SMD and GLINK channel, which are used for graceful
152           shutdown, retrieving failure information and propagating information
153           about other subsystems being shut down.
154
155           Say y here if your system runs firmware on any other subsystems, e.g.
156           modem or DSP.
157
158 config QCOM_WCNSS_PIL
159         tristate "Qualcomm WCNSS Peripheral Image Loader"
160         depends on OF && ARCH_QCOM
161         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
162         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
163         depends on QCOM_SMEM
164         depends on QCOM_SYSMON || QCOM_SYSMON=n
165         select QCOM_MDT_LOADER
166         select QCOM_RPROC_COMMON
167         select QCOM_SCM
168         help
169           Say y here to support the Peripheral Image Loader for the Qualcomm
170           Wireless Connectivity Subsystem.
171
172 config ST_REMOTEPROC
173         tristate "ST remoteproc support"
174         depends on ARCH_STI
175         select MAILBOX
176         select STI_MBOX
177         help
178           Say y here to support ST's adjunct processors via the remote
179           processor framework.
180           This can be either built-in or a loadable module.
181
182 config ST_SLIM_REMOTEPROC
183         tristate
184
185 endif # REMOTEPROC
186
187 endmenu