Merge tag 'rproc-v4.16' of git://github.com/andersson/remoteproc
[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         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         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         select MFD_SYSCON
94         select QCOM_MDT_LOADER
95         select QCOM_RPROC_COMMON
96         select QCOM_SCM
97         help
98           Say y here to support the TrustZone based Peripherial Image Loader
99           for the Qualcomm ADSP remote processors.
100
101 config QCOM_RPROC_COMMON
102         tristate
103
104 config QCOM_Q6V5_PIL
105         tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
106         depends on OF && ARCH_QCOM
107         depends on QCOM_SMEM
108         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
109         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
110         select MFD_SYSCON
111         select QCOM_RPROC_COMMON
112         select QCOM_SCM
113         help
114           Say y here to support the Qualcomm Peripherial Image Loader for the
115           Hexagon V5 based remote processors.
116
117 config QCOM_WCNSS_PIL
118         tristate "Qualcomm WCNSS Peripheral Image Loader"
119         depends on OF && ARCH_QCOM
120         depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
121         depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
122         depends on QCOM_SMEM
123         select QCOM_MDT_LOADER
124         select QCOM_RPROC_COMMON
125         select QCOM_SCM
126         help
127           Say y here to support the Peripheral Image Loader for the Qualcomm
128           Wireless Connectivity Subsystem.
129
130 config ST_REMOTEPROC
131         tristate "ST remoteproc support"
132         depends on ARCH_STI
133         select MAILBOX
134         select STI_MBOX
135         help
136           Say y here to support ST's adjunct processors via the remote
137           processor framework.
138           This can be either built-in or a loadable module.
139
140 config ST_SLIM_REMOTEPROC
141         tristate
142
143 endif # REMOTEPROC
144
145 endmenu