Commit 6b291e80 authored by Tanmay Shah's avatar Tanmay Shah Committed by Mathieu Poirier

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: default avatarBen Levinsky <ben.levinsky@amd.com>
Signed-off-by: default avatarTanmay Shah <tanmay.shah@amd.com>
Reported-by: default avatarkernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/r/20221114233940.2096237-7-tanmay.shah@amd.comSigned-off-by: default avatarMathieu Poirier <mathieu.poirier@linaro.org>
parent a5e56980
...@@ -352,6 +352,19 @@ config TI_K3_R5_REMOTEPROC ...@@ -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 ...@@ -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
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment