Thread (9 messages) 9 messages, 4 authors, 2021-10-13

Re: [PATCH v6 3/4] remoteproc: imx_dsp_rproc: Add remoteproc driver for DSP on i.MX

From: Shengjiu Wang <shengjiu.wang@gmail.com>
Date: 2021-10-13 02:21:26
Also in: linux-arm-kernel, linux-remoteproc, lkml

On Wed, Oct 13, 2021 at 1:06 AM Mathieu Poirier
[off-list ref] wrote:
On Mon, Oct 11, 2021 at 05:20:14PM +0800, Shengjiu Wang wrote:
quoted
Provide a basic driver to control DSP processor found on NXP i.MX8QM,
i.MX8QXP, i.MX8MP and i.MX8ULP.

Currently it is able to resolve addresses between DSP and main CPU,
start and stop the processor, suspend and resume.

The communication between DSP and main CPU is based on mailbox, there
are three mailbox channels (tx, rx, rxdb).

This driver was tested on NXP i.MX8QM, i.MX8QXP, i.MX8MP and i.MX8ULP.

Signed-off-by: Shengjiu Wang <redacted>
Reviewed-by: Mathieu Poirier <mathieu.poirier@linaro.org>
---
 drivers/remoteproc/Kconfig         |   11 +
 drivers/remoteproc/Makefile        |    1 +
 drivers/remoteproc/imx_dsp_rproc.c | 1206 ++++++++++++++++++++++++++++
 3 files changed, 1218 insertions(+)
 create mode 100644 drivers/remoteproc/imx_dsp_rproc.c
diff --git a/drivers/remoteproc/Kconfig b/drivers/remoteproc/Kconfig
index dcb87a366ec7..f2e961f998ca 100644
--- a/drivers/remoteproc/Kconfig
+++ b/drivers/remoteproc/Kconfig
@@ -34,6 +34,17 @@ config IMX_REMOTEPROC

        It's safe to say N here.

+config IMX_DSP_REMOTEPROC
+     tristate "i.MX DSP remoteproc support"
+     depends on ARCH_MXC
+     depends on HAVE_ARM_SMCCC
+     select MAILBOX
+     help
+       Say y here to support iMX's DSP remote processors via the remote
+       processor framework.
+
+       It's safe to say N here.
+
 config INGENIC_VPU_RPROC
      tristate "Ingenic JZ47xx VPU remoteproc support"
      depends on MIPS || COMPILE_TEST
diff --git a/drivers/remoteproc/Makefile b/drivers/remoteproc/Makefile
index ce1abeb30907..0ac256b6c977 100644
--- a/drivers/remoteproc/Makefile
+++ b/drivers/remoteproc/Makefile
@@ -12,6 +12,7 @@ remoteproc-y                                += remoteproc_virtio.o
 remoteproc-y                         += remoteproc_elf_loader.o
 obj-$(CONFIG_REMOTEPROC_CDEV)                += remoteproc_cdev.o
 obj-$(CONFIG_IMX_REMOTEPROC)         += imx_rproc.o
+obj-$(CONFIG_IMX_DSP_REMOTEPROC)     += imx_dsp_rproc.o
 obj-$(CONFIG_INGENIC_VPU_RPROC)              += ingenic_rproc.o
 obj-$(CONFIG_MTK_SCP)                        += mtk_scp.o mtk_scp_ipi.o
 obj-$(CONFIG_OMAP_REMOTEPROC)                += omap_remoteproc.o
diff --git a/drivers/remoteproc/imx_dsp_rproc.c b/drivers/remoteproc/imx_dsp_rproc.c
new file mode 100644
index 000000000000..63749cfcf22f
--- /dev/null
+++ b/drivers/remoteproc/imx_dsp_rproc.c
@@ -0,0 +1,1206 @@
+// SPDX-License-Identifier: GPL-2.0-only
+// Copyright 2021 NXP
I just noticed the '//' on the copyright line.  Please send a patch to change
that to C style comments.

Thanks,
Mathieu
Ok, will send a patch for it.

best regards
Wang Shengjiu
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help