mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-04 01:24:12 +08:00
drivers: remoteproc: Add Xilinx r5 remoteproc driver
This driver enables r5f dual core Real time Processing Unit subsystem available on Xilinx Zynq Ultrascale MPSoC Platform. RPU subsystem (cluster) can be configured in different modes e.g. split mode in which two r5f cores work independent of each other and lock-step mode in which both r5f cores execute same code clock-for-clock and notify if the result is different. The Xilinx r5 Remoteproc Driver boots the RPU cores via calls to the Xilinx Platform Management Unit that handles the R5 configuration, memory access and R5 lifecycle management. The interface to this manager is done in this driver via zynqmp_pm_* function calls. Signed-off-by: Ben Levinsky <ben.levinsky@amd.com> Signed-off-by: Tanmay Shah <tanmay.shah@amd.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/20221114233940.2096237-7-tanmay.shah@amd.com Signed-off-by: Mathieu Poirier <mathieu.poirier@linaro.org>
This commit is contained in:
parent
a5e56980cf
commit
6b291e8020
@ -352,6 +352,19 @@ config TI_K3_R5_REMOTEPROC
|
|||||||
It's safe to say N here if you're not interested in utilizing
|
It's safe to say N here if you're not interested in utilizing
|
||||||
a slave processor.
|
a slave processor.
|
||||||
|
|
||||||
|
config XLNX_R5_REMOTEPROC
|
||||||
|
tristate "Xilinx R5 remoteproc support"
|
||||||
|
depends on PM && ARCH_ZYNQMP
|
||||||
|
select ZYNQMP_FIRMWARE
|
||||||
|
select RPMSG_VIRTIO
|
||||||
|
select MAILBOX
|
||||||
|
select ZYNQMP_IPI_MBOX
|
||||||
|
help
|
||||||
|
Say y or m here to support Xilinx R5 remote processors via the remote
|
||||||
|
processor framework.
|
||||||
|
|
||||||
|
It's safe to say N if not interested in using RPU r5f cores.
|
||||||
|
|
||||||
endif # REMOTEPROC
|
endif # REMOTEPROC
|
||||||
|
|
||||||
endmenu
|
endmenu
|
||||||
|
@ -38,3 +38,4 @@ obj-$(CONFIG_ST_SLIM_REMOTEPROC) += st_slim_rproc.o
|
|||||||
obj-$(CONFIG_STM32_RPROC) += stm32_rproc.o
|
obj-$(CONFIG_STM32_RPROC) += stm32_rproc.o
|
||||||
obj-$(CONFIG_TI_K3_DSP_REMOTEPROC) += ti_k3_dsp_remoteproc.o
|
obj-$(CONFIG_TI_K3_DSP_REMOTEPROC) += ti_k3_dsp_remoteproc.o
|
||||||
obj-$(CONFIG_TI_K3_R5_REMOTEPROC) += ti_k3_r5_remoteproc.o
|
obj-$(CONFIG_TI_K3_R5_REMOTEPROC) += ti_k3_r5_remoteproc.o
|
||||||
|
obj-$(CONFIG_XLNX_R5_REMOTEPROC) += xlnx_r5_remoteproc.o
|
||||||
|
1067
drivers/remoteproc/xlnx_r5_remoteproc.c
Normal file
1067
drivers/remoteproc/xlnx_r5_remoteproc.c
Normal file
File diff suppressed because it is too large
Load Diff
Loading…
Reference in New Issue
Block a user