mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-10-27 22:51:31 +00:00
bb6869b214
slim core is used as a basis for many IPs in the STi chipsets such as fdma and demux. To avoid duplicating the elf loading code in each device driver a slim rproc driver has been created. This driver is designed to be used by other device drivers such as fdma, or demux whose IP is based around a slim core. The device driver can call slim_rproc_alloc() to allocate a slim rproc and slim_rproc_put() when finished. This driver takes care of ioremapping the slim registers (dmem, imem, slimcore, peripherals), whose offsets and sizes can change between IP's. It also obtains and enables any clocks used by the device. This approach avoids having a double mapping of the registers as slim_rproc does not register its own platform device. It also maps well to device tree abstraction as it allows us to have one dt node for the whole device. All of the generic rproc elf loading code can be reused, and we provide start() stop() hooks to start and stop the slim core once the firmware has been loaded. This has been tested successfully with fdma driver. Signed-off-by: Peter Griffin <peter.griffin@linaro.org> Signed-off-by: Vinod Koul <vinod.koul@intel.com>
122 lines
3.3 KiB
Text
122 lines
3.3 KiB
Text
menu "Remoteproc drivers"
|
|
|
|
# REMOTEPROC gets selected by whoever wants it
|
|
config REMOTEPROC
|
|
tristate
|
|
depends on HAS_DMA
|
|
select CRC32
|
|
select FW_LOADER
|
|
select VIRTIO
|
|
select VIRTUALIZATION
|
|
|
|
config OMAP_REMOTEPROC
|
|
tristate "OMAP remoteproc support"
|
|
depends on HAS_DMA
|
|
depends on ARCH_OMAP4 || SOC_OMAP5
|
|
depends on OMAP_IOMMU
|
|
select REMOTEPROC
|
|
select MAILBOX
|
|
select OMAP2PLUS_MBOX
|
|
select RPMSG_VIRTIO
|
|
help
|
|
Say y here to support OMAP's remote processors (dual M3
|
|
and DSP on OMAP4) via the remote processor framework.
|
|
|
|
Currently only supported on OMAP4.
|
|
|
|
Usually you want to say y here, in order to enable multimedia
|
|
use-cases to run on your platform (multimedia codecs are
|
|
offloaded to remote DSP processors using this framework).
|
|
|
|
It's safe to say n here if you're not interested in multimedia
|
|
offloading or just want a bare minimum kernel.
|
|
|
|
config STE_MODEM_RPROC
|
|
tristate "STE-Modem remoteproc support"
|
|
depends on HAS_DMA
|
|
select REMOTEPROC
|
|
default n
|
|
help
|
|
Say y or m here to support STE-Modem shared memory driver.
|
|
This can be either built-in or a loadable module.
|
|
If unsure say N.
|
|
|
|
config WKUP_M3_RPROC
|
|
tristate "AMx3xx Wakeup M3 remoteproc support"
|
|
depends on SOC_AM33XX || SOC_AM43XX
|
|
select REMOTEPROC
|
|
help
|
|
Say y here to support Wakeup M3 remote processor on TI AM33xx
|
|
and AM43xx family of SoCs.
|
|
|
|
Required for Suspend-to-RAM on AM33xx and AM43xx SoCs. Also needed
|
|
for deep CPUIdle states on AM33xx SoCs. Allows for loading of the
|
|
firmware onto these remote processors.
|
|
If unsure say N.
|
|
|
|
config DA8XX_REMOTEPROC
|
|
tristate "DA8xx/OMAP-L13x remoteproc support"
|
|
depends on ARCH_DAVINCI_DA8XX
|
|
select CMA if MMU
|
|
select RPMSG_VIRTIO
|
|
help
|
|
Say y here to support DA8xx/OMAP-L13x remote processors via the
|
|
remote processor framework.
|
|
|
|
You want to say y here in order to enable AMP
|
|
use-cases to run on your platform (multimedia codecs are
|
|
offloaded to remote DSP processors using this framework).
|
|
|
|
This module controls the name of the firmware file that gets
|
|
loaded on the DSP. This file must reside in the /lib/firmware
|
|
directory. It can be specified via the module parameter
|
|
da8xx_fw_name=<filename>, and if not specified will default to
|
|
"rproc-dsp-fw".
|
|
|
|
It's safe to say n here if you're not interested in multimedia
|
|
offloading.
|
|
|
|
config QCOM_MDT_LOADER
|
|
tristate
|
|
|
|
config QCOM_Q6V5_PIL
|
|
tristate "Qualcomm Hexagon V5 Peripherial Image Loader"
|
|
depends on OF && ARCH_QCOM
|
|
depends on QCOM_SMEM
|
|
select MFD_SYSCON
|
|
select QCOM_MDT_LOADER
|
|
select REMOTEPROC
|
|
help
|
|
Say y here to support the Qualcomm Peripherial Image Loader for the
|
|
Hexagon V5 based remote processors.
|
|
|
|
config QCOM_WCNSS_IRIS
|
|
tristate
|
|
depends on OF && ARCH_QCOM
|
|
|
|
config QCOM_WCNSS_PIL
|
|
tristate "Qualcomm WCNSS Peripheral Image Loader"
|
|
depends on OF && ARCH_QCOM
|
|
depends on QCOM_SMEM
|
|
depends on REMOTEPROC
|
|
select QCOM_MDT_LOADER
|
|
select QCOM_SCM
|
|
select QCOM_WCNSS_IRIS
|
|
help
|
|
Say y here to support the Peripheral Image Loader for the Qualcomm
|
|
Wireless Connectivity Subsystem.
|
|
|
|
config ST_REMOTEPROC
|
|
tristate "ST remoteproc support"
|
|
depends on ARCH_STI
|
|
select REMOTEPROC
|
|
help
|
|
Say y here to support ST's adjunct processors via the remote
|
|
processor framework.
|
|
This can be either built-in or a loadable module.
|
|
|
|
config ST_SLIM_REMOTEPROC
|
|
tristate
|
|
select REMOTEPROC
|
|
|
|
endmenu
|