xref: /linux/drivers/remoteproc/Kconfig (revision bf070bb0e6c62ba3075db0a666763ba52c677102)
1menu "Remoteproc drivers"
2
3config 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
13if REMOTEPROC
14
15config 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
24config 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
45config 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
57config 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
79config 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
90config 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
104config QCOM_RPROC_COMMON
105	tristate
106
107config 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
120config 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
133config 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
144config ST_SLIM_REMOTEPROC
145	tristate
146
147endif # REMOTEPROC
148
149endmenu
150