mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
a01bc0d5f5
Add a remoteproc driver to load the firmware and boot a small Wakeup M3 processor present on TI AM33xx and AM43xx SoCs. This Wakeup M3 remote processor is an integrated Cortex M3 that allows the SoC to enter the lowest possible power state by taking control from the MPU after it has gone into its own low power state and shutting off any additional peripherals. The Wakeup M3 processor has two internal memory regions - 16 kB of unified instruction memory called UMEM used to store executable code, and 8 kB of data memory called DMEM used for all data sections. The Wakeup M3 processor executes its code entirely from within the UMEM and uses the DMEM for any data. It does not use any external memory or any other external resources. The device address view has the UMEM at address 0x0 and DMEM at address 0x80000, and these are computed automatically within the driver based on relative address calculation from the corresponding device tree IOMEM resources. These device addresses are used to aid the core remoteproc ELF loader code to properly translate and load the firmware segments through the .rproc_da_to_va ops. Signed-off-by: Dave Gerlach <d-gerlach@ti.com> Signed-off-by: Suman Anna <s-anna@ti.com> Signed-off-by: Ohad Ben-Cohen <ohad@wizery.com>
81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
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
|
|
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 REMOTEPROC
|
|
select RPMSG
|
|
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.
|
|
|
|
endmenu
|