xref: /openbmc/linux/drivers/remoteproc/Kconfig (revision f7d84fa7)
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	select CMA if MMU
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 QCOM_ADSP_PIL
75	tristate "Qualcomm ADSP Peripheral Image Loader"
76	depends on OF && ARCH_QCOM
77	depends on REMOTEPROC
78	depends on QCOM_SMEM
79	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
80	select MFD_SYSCON
81	select QCOM_MDT_LOADER
82	select QCOM_RPROC_COMMON
83	select QCOM_SCM
84	help
85	  Say y here to support the TrustZone based Peripherial Image Loader
86	  for the Qualcomm ADSP remote processors.
87
88config QCOM_RPROC_COMMON
89	tristate
90
91config QCOM_Q6V5_PIL
92	tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
93	depends on OF && ARCH_QCOM
94	depends on QCOM_SMEM
95	depends on REMOTEPROC
96	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
97	select MFD_SYSCON
98	select QCOM_RPROC_COMMON
99	select QCOM_SCM
100	help
101	  Say y here to support the Qualcomm Peripherial Image Loader for the
102	  Hexagon V5 based remote processors.
103
104config QCOM_WCNSS_PIL
105	tristate "Qualcomm WCNSS Peripheral Image Loader"
106	depends on OF && ARCH_QCOM
107	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
108	depends on QCOM_SMEM
109	depends on REMOTEPROC
110	select QCOM_MDT_LOADER
111	select QCOM_RPROC_COMMON
112	select QCOM_SCM
113	help
114	  Say y here to support the Peripheral Image Loader for the Qualcomm
115	  Wireless Connectivity Subsystem.
116
117config ST_REMOTEPROC
118	tristate "ST remoteproc support"
119	depends on ARCH_STI
120	depends on REMOTEPROC
121	select MAILBOX
122	select STI_MBOX
123	select RPMSG_VIRTIO
124	help
125	  Say y here to support ST's adjunct processors via the remote
126	  processor framework.
127	  This can be either built-in or a loadable module.
128
129config ST_SLIM_REMOTEPROC
130	tristate
131	depends on REMOTEPROC
132
133endif # REMOTEPROC
134
135endmenu
136