xref: /openbmc/linux/drivers/remoteproc/Kconfig (revision dea54fba)
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	help
10	  Support for remote processors (such as DSP coprocessors). These
11	  are mainly used on embedded systems.
12
13if REMOTEPROC
14
15config OMAP_REMOTEPROC
16	tristate "OMAP remoteproc support"
17	depends on HAS_DMA
18	depends on ARCH_OMAP4 || SOC_OMAP5
19	depends on OMAP_IOMMU
20	select MAILBOX
21	select OMAP2PLUS_MBOX
22	select RPMSG_VIRTIO
23	help
24	  Say y here to support OMAP's remote processors (dual M3
25	  and DSP on OMAP4) via the remote processor framework.
26
27	  Currently only supported on OMAP4.
28
29	  Usually you want to say Y here, in order to enable multimedia
30	  use-cases to run on your platform (multimedia codecs are
31	  offloaded to remote DSP processors using this framework).
32
33	  It's safe to say N here if you're not interested in multimedia
34	  offloading or just want a bare minimum kernel.
35
36config WKUP_M3_RPROC
37	tristate "AMx3xx Wakeup M3 remoteproc support"
38	depends on SOC_AM33XX || SOC_AM43XX
39	help
40	  Say y here to support Wakeup M3 remote processor on TI AM33xx
41	  and AM43xx family of SoCs.
42
43	  Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
44	  for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
45	  firmware onto these remote processors.
46	  If unsure say N.
47
48config DA8XX_REMOTEPROC
49	tristate "DA8xx/OMAP-L13x remoteproc support"
50	depends on ARCH_DAVINCI_DA8XX
51	depends on DMA_CMA
52	select RPMSG_VIRTIO
53	help
54	  Say y here to support DA8xx/OMAP-L13x remote processors via the
55	  remote processor framework.
56
57	  You want to say y here in order to enable AMP
58	  use-cases to run on your platform (multimedia codecs are
59	  offloaded to remote DSP processors using this framework).
60
61	  This module controls the name of the firmware file that gets
62	  loaded on the DSP.  This file must reside in the /lib/firmware
63	  directory.  It can be specified via the module parameter
64	  da8xx_fw_name=<filename>, and if not specified will default to
65	  "rproc-dsp-fw".
66
67	  It's safe to say n here if you're not interested in multimedia
68	  offloading.
69
70config KEYSTONE_REMOTEPROC
71	tristate "Keystone Remoteproc support"
72	depends on ARCH_KEYSTONE
73	select RPMSG_VIRTIO
74	help
75	  Say Y here here to support Keystone remote processors (DSP)
76	  via the remote processor framework.
77
78	  It's safe to say N here if you're not interested in the Keystone
79	  DSPs or just want to use a bare minimum kernel.
80
81config QCOM_ADSP_PIL
82	tristate "Qualcomm ADSP Peripheral Image Loader"
83	depends on OF && ARCH_QCOM
84	depends on QCOM_SMEM
85	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
86	select MFD_SYSCON
87	select QCOM_MDT_LOADER
88	select QCOM_RPROC_COMMON
89	select QCOM_SCM
90	help
91	  Say y here to support the TrustZone based Peripherial Image Loader
92	  for the Qualcomm ADSP remote processors.
93
94config QCOM_RPROC_COMMON
95	tristate
96
97config QCOM_Q6V5_PIL
98	tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
99	depends on OF && ARCH_QCOM
100	depends on QCOM_SMEM
101	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
102	select MFD_SYSCON
103	select QCOM_RPROC_COMMON
104	select QCOM_SCM
105	help
106	  Say y here to support the Qualcomm Peripherial Image Loader for the
107	  Hexagon V5 based remote processors.
108
109config QCOM_WCNSS_PIL
110	tristate "Qualcomm WCNSS Peripheral Image Loader"
111	depends on OF && ARCH_QCOM
112	depends on RPMSG_QCOM_SMD || (COMPILE_TEST && RPMSG_QCOM_SMD=n)
113	depends on QCOM_SMEM
114	select QCOM_MDT_LOADER
115	select QCOM_RPROC_COMMON
116	select QCOM_SCM
117	help
118	  Say y here to support the Peripheral Image Loader for the Qualcomm
119	  Wireless Connectivity Subsystem.
120
121config ST_REMOTEPROC
122	tristate "ST remoteproc support"
123	depends on ARCH_STI
124	select MAILBOX
125	select STI_MBOX
126	select RPMSG_VIRTIO
127	help
128	  Say y here to support ST's adjunct processors via the remote
129	  processor framework.
130	  This can be either built-in or a loadable module.
131
132config ST_SLIM_REMOTEPROC
133	tristate
134
135endif # REMOTEPROC
136
137endmenu
138