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