remoteproc: Add remote processor coredump support
[linux-2.6-block.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 HAS_DMA
28         depends on ARCH_OMAP4 || SOC_OMAP5
29         depends on OMAP_IOMMU
30         select MAILBOX
31         select OMAP2PLUS_MBOX
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         help
62           Say y here to support DA8xx/OMAP-L13x remote processors via the
63           remote processor framework.
64
65           You want to say y here in order to enable AMP
66           use-cases to run on your platform (multimedia codecs are
67           offloaded to remote DSP processors using this framework).
68
69           This module controls the name of the firmware file that gets
70           loaded on the DSP.  This file must reside in the /lib/firmware
71           directory.  It can be specified via the module parameter
72           da8xx_fw_name=<filename>, and if not specified will default to
73           "rproc-dsp-fw".
74
75           It's safe to say n here if you're not interested in multimedia
76           offloading.
77
78 config KEYSTONE_REMOTEPROC
79         tristate "Keystone Remoteproc support"
80         depends on ARCH_KEYSTONE
81         help
82           Say Y here here to support Keystone remote processors (DSP)
83           via the remote processor framework.
84
85           It's safe to say N here if you're not interested in the Keystone
86           DSPs or just want to use a bare minimum kernel.
87
88 config QCOM_ADSP_PIL
89         tristate "Qualcomm ADSP Peripheral Image Loader"
90         depends on OF && ARCH_QCOM
91         depends on QCOM_SMEM
92         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
93         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
94         select MFD_SYSCON
95         select QCOM_MDT_LOADER
96         select QCOM_RPROC_COMMON
97         select QCOM_SCM
98         help
99           Say y here to support the TrustZone based Peripherial Image Loader
100           for the Qualcomm ADSP remote processors.
101
102 config QCOM_RPROC_COMMON
103         tristate
104
105 config QCOM_Q6V5_PIL
106         tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
107         depends on OF && ARCH_QCOM
108         depends on QCOM_SMEM
109         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
110         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
111         select MFD_SYSCON
112         select QCOM_RPROC_COMMON
113         select QCOM_SCM
114         help
115           Say y here to support the Qualcomm Peripherial Image Loader for the
116           Hexagon V5 based remote processors.
117
118 config QCOM_WCNSS_PIL
119         tristate "Qualcomm WCNSS Peripheral Image Loader"
120         depends on OF && ARCH_QCOM
121         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
122         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
123         depends on QCOM_SMEM
124         select QCOM_MDT_LOADER
125         select QCOM_RPROC_COMMON
126         select QCOM_SCM
127         help
128           Say y here to support the Peripheral Image Loader for the Qualcomm
129           Wireless Connectivity Subsystem.
130
131 config ST_REMOTEPROC
132         tristate "ST remoteproc support"
133         depends on ARCH_STI
134         select MAILBOX
135         select STI_MBOX
136         help
137           Say y here to support ST's adjunct processors via the remote
138           processor framework.
139           This can be either built-in or a loadable module.
140
141 config ST_SLIM_REMOTEPROC
142         tristate
143
144 endif # REMOTEPROC
145
146 endmenu