xref: /openbmc/linux/drivers/remoteproc/Kconfig (revision 2359ccdd)
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 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
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	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
78config 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
88config 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	depends on QCOM_SYSMON || QCOM_SYSMON=n
95	select MFD_SYSCON
96	select QCOM_MDT_LOADER
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_PIL
107	tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
108	depends on OF && ARCH_QCOM
109	depends on QCOM_SMEM
110	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
111	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
112	depends on QCOM_SYSMON || QCOM_SYSMON=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_SYSMON
121	tristate "Qualcomm sysmon driver"
122	depends on RPMSG
123	depends on ARCH_QCOM
124	depends on NET
125	select QCOM_QMI_HELPERS
126	help
127	  The sysmon driver implements a sysmon QMI client and a handler for
128	  the sys_mon SMD and GLINK channel, which are used for graceful
129	  shutdown, retrieving failure information and propagating information
130	  about other subsystems being shut down.
131
132	  Say y here if your system runs firmware on any other subsystems, e.g.
133	  modem or DSP.
134
135config QCOM_WCNSS_PIL
136	tristate "Qualcomm WCNSS Peripheral Image Loader"
137	depends on OF && ARCH_QCOM
138	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
139	depends on RPMSG_QCOM_GLINK_SMEM || RPMSG_QCOM_GLINK_SMEM=n
140	depends on QCOM_SMEM
141	depends on QCOM_SYSMON || QCOM_SYSMON=n
142	select QCOM_MDT_LOADER
143	select QCOM_RPROC_COMMON
144	select QCOM_SCM
145	help
146	  Say y here to support the Peripheral Image Loader for the Qualcomm
147	  Wireless Connectivity Subsystem.
148
149config ST_REMOTEPROC
150	tristate "ST remoteproc support"
151	depends on ARCH_STI
152	select MAILBOX
153	select STI_MBOX
154	help
155	  Say y here to support ST's adjunct processors via the remote
156	  processor framework.
157	  This can be either built-in or a loadable module.
158
159config ST_SLIM_REMOTEPROC
160	tristate
161
162endif # REMOTEPROC
163
164endmenu
165