xref: /openbmc/linux/drivers/remoteproc/Kconfig (revision e88bb8f7)
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 VIRTUALIZATION
10	help
11	  Support for remote processors (such as DSP coprocessors). These
12	  are mainly used on embedded systems.
13
14if REMOTEPROC
15
16config OMAP_REMOTEPROC
17	tristate "OMAP remoteproc support"
18	depends on HAS_DMA
19	depends on ARCH_OMAP4 || SOC_OMAP5
20	depends on OMAP_IOMMU
21	depends on REMOTEPROC
22	select MAILBOX
23	select OMAP2PLUS_MBOX
24	select RPMSG_VIRTIO
25	help
26	  Say y here to support OMAP's remote processors (dual M3
27	  and DSP on OMAP4) via the remote processor framework.
28
29	  Currently only supported on OMAP4.
30
31	  Usually you want to say Y here, in order to enable multimedia
32	  use-cases to run on your platform (multimedia codecs are
33	  offloaded to remote DSP processors using this framework).
34
35	  It's safe to say N here if you're not interested in multimedia
36	  offloading or just want a bare minimum kernel.
37
38config WKUP_M3_RPROC
39	tristate "AMx3xx Wakeup M3 remoteproc support"
40	depends on SOC_AM33XX || SOC_AM43XX
41	depends on REMOTEPROC
42	help
43	  Say y here to support Wakeup M3 remote processor on TI AM33xx
44	  and AM43xx family of SoCs.
45
46	  Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
47	  for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
48	  firmware onto these remote processors.
49	  If unsure say N.
50
51config DA8XX_REMOTEPROC
52	tristate "DA8xx/OMAP-L13x remoteproc support"
53	depends on ARCH_DAVINCI_DA8XX
54	depends on REMOTEPROC
55	depends on DMA_CMA
56	select RPMSG_VIRTIO
57	help
58	  Say y here to support DA8xx/OMAP-L13x remote processors via the
59	  remote processor framework.
60
61	  You want to say y here in order to enable AMP
62	  use-cases to run on your platform (multimedia codecs are
63	  offloaded to remote DSP processors using this framework).
64
65	  This module controls the name of the firmware file that gets
66	  loaded on the DSP.  This file must reside in the /lib/firmware
67	  directory.  It can be specified via the module parameter
68	  da8xx_fw_name=<filename>, and if not specified will default to
69	  "rproc-dsp-fw".
70
71	  It's safe to say n here if you're not interested in multimedia
72	  offloading.
73
74config KEYSTONE_REMOTEPROC
75	tristate "Keystone Remoteproc support"
76	depends on ARCH_KEYSTONE
77	depends on RESET_CONTROLLER
78	depends on REMOTEPROC
79	select RPMSG_VIRTIO
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 REMOTEPROC
91	depends on QCOM_SMEM
92	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=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
101config QCOM_RPROC_COMMON
102	tristate
103
104config 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 REMOTEPROC
109	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=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
117config 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 QCOM_SMEM
122	depends on REMOTEPROC
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
130config ST_REMOTEPROC
131	tristate "ST remoteproc support"
132	depends on ARCH_STI
133	depends on REMOTEPROC
134	select MAILBOX
135	select STI_MBOX
136	select RPMSG_VIRTIO
137	help
138	  Say y here to support ST's adjunct processors via the remote
139	  processor framework.
140	  This can be either built-in or a loadable module.
141
142config ST_SLIM_REMOTEPROC
143	tristate
144	depends on REMOTEPROC
145
146endif # REMOTEPROC
147
148endmenu
149