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