linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/9] remoteproc: imx_rproc: support i.MX8/8M/7ULP
@ 2020-02-19  7:27 peng.fan
  2020-02-19  7:27 ` [PATCH 1/9] dt-bindings: remoteproc: Convert imx-rproc to json-schema peng.fan
                   ` (10 more replies)
  0 siblings, 11 replies; 30+ messages in thread
From: peng.fan @ 2020-02-19  7:27 UTC (permalink / raw)
  To: ohad, bjorn.andersson, robh+dt, shawnguo, s.hauer, kernel, festevam
  Cc: linux-imx, linux-remoteproc, devicetree, linux-arm-kernel,
	linux-kernel, Peng Fan

From: Peng Fan <peng.fan@nxp.com>

This patchset aim to replace NXP vendor imx_rpmsg.c driver.

This patchset is tested with Loic PALLARDY's patch
"remoteproc: add support for co-processor loaded and booted before kernel"
https://patchwork.kernel.org/patch/11265869/,
and inspried from st's remoteproc early boot support.
Since Loic's patch is still under review, just expect your comments :)

Patch [1,2]/9: dt-bindings convert to json and new SoC support
Patch 3/9: skip firmware load when recovery. To i.MX8, firmware is not
           handled by Linux.

Patch [4-9]/9: i.MX specific part to support rpmsg/virtio with mbox.
      because NXP release image not have resoure table, so add resource
      table in dts

My test dts diff for i.MX8QXP MEK, but I have tested this patchset
for i.MX8QXP MEK, i.MX8MM EVK, i.MX7ULP EVK:

+
+	imx8x-cm4 {
+		compatible = "fsl,imx8qxp-cm4";
+		rsrc-table = <
+			0x1 0x2 0x0 0x0 0x18 0x5c
+			3
+			/*fw_rsc_vdev*/
+			7 0 1 0 0 0x200
+			/*fw_rsc_vdev_vring*/
+			0x90000000 4096 256 1 0
+			0x90008000 4096 256 2 0
+			3
+			/*fw_rsc_vdev*/
+			7 1 1 0 0 0x200
+			/*fw_rsc_vdev_vring*/
+			0x90010000 4096 256 1 0
+			0x90018000 4096 256 2 0
+		>;
+		early-booted;
+		mbox-names = "tx", "rx", "rxdb";
+		mboxes = <&lsio_mu5 0 1
+			  &lsio_mu5 1 1
+			  &lsio_mu5 3 1>;
+		mub-partition = <3>;
+		memory-region = <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>,
+				<&vdev1vring0>, <&vdev1vring1>, <&vdev0buffer>;
+	};
+
+	reserved-memory {
+		#address-cells = <2>;
+		#size-cells = <2>;
+		ranges;
+
+		vdev0vring0: vdev0vring0@90000000 {
+                       compatible = "shared-dma-pool";
+			reg = <0 0x90000000 0 0x8000>;
+			no-map;
+		};
+
+		vdev0vring1: vdev0vring1@90008000 {
+                       compatible = "shared-dma-pool";
+			reg = <0 0x90008000 0 0x8000>;
+			no-map;
+		};
+
+		vdev1vring0: vdev1vring0@90010000 {
+                       compatible = "shared-dma-pool";
+			reg = <0 0x90010000 0 0x8000>;
+			no-map;
+		};
+
+		vdev1vring1: vdev1vring1@90018000 {
+                       compatible = "shared-dma-pool";
+			reg = <0 0x90018000 0 0x8000>;
+			no-map;
+		};
+
+		vdev0buffer: vdev0buffer {
+                       compatible = "shared-dma-pool";
+			reg = <0 0x90400000 0 0x100000>;
+			no-map;
+		};
+	};
+

Peng Fan (9):
  dt-bindings: remoteproc: Convert imx-rproc to json-schema
  dt-bindings: remoteproc: imx-rproc: support i.MX[8,8M,7ULP]
  remoteproc: add support to skip firmware load when recovery
  remoteproc: imx_rproc: surport early booted remote processor
  remoteproc: imx_rproc: parse early-booted property
  remoteproc: imx_proc: enable virtio/mailbox
  remoteproc: imx_rproc: add i.MX8QM/QXP
  remoteproc: imx_rproc: support i.MX7ULP
  remoteproc: imx_rproc: add i.MX8MM support

 .../devicetree/bindings/remoteproc/imx-rproc.txt   |  33 --
 .../devicetree/bindings/remoteproc/imx-rproc.yaml  |  95 +++++
 drivers/remoteproc/imx_rproc.c                     | 455 +++++++++++++++++++--
 drivers/remoteproc/remoteproc_core.c               |  19 +-
 include/linux/remoteproc.h                         |   1 +
 5 files changed, 531 insertions(+), 72 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.txt
 create mode 100644 Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml

-- 
2.16.4


^ permalink raw reply	[flat|nested] 30+ messages in thread

end of thread, other threads:[~2020-02-23  0:11 UTC | newest]

Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-02-19  7:27 [PATCH 0/9] remoteproc: imx_rproc: support i.MX8/8M/7ULP peng.fan
2020-02-19  7:27 ` [PATCH 1/9] dt-bindings: remoteproc: Convert imx-rproc to json-schema peng.fan
2020-02-19 14:09   ` Rob Herring
2020-02-19 14:34     ` Peng Fan
2020-02-20  0:37       ` Rob Herring
2020-02-19  7:27 ` [PATCH 2/9] dt-bindings: remoteproc: imx-rproc: support i.MX[8,8M,7ULP] peng.fan
2020-02-19  7:27 ` [PATCH 3/9] remoteproc: add support to skip firmware load when recovery peng.fan
2020-02-19 14:39   ` Arnaud POULIQUEN
2020-02-19 15:40     ` Peng Fan
2020-02-20  8:49       ` Arnaud POULIQUEN
2020-02-21 18:42   ` Mathieu Poirier
2020-02-23  0:01     ` Peng Fan
2020-02-19  7:27 ` [PATCH 4/9] remoteproc: imx_rproc: surport early booted remote processor peng.fan
2020-02-21 21:16   ` Mathieu Poirier
2020-02-23  0:05     ` Peng Fan
2020-02-19  7:27 ` [PATCH 5/9] remoteproc: imx_rproc: parse early-booted property peng.fan
2020-02-21 21:56   ` Mathieu Poirier
2020-02-23  0:11     ` Peng Fan
2020-02-19  7:27 ` [PATCH 6/9] remoteproc: imx_proc: enable virtio/mailbox peng.fan
2020-02-19  7:27 ` [PATCH 7/9] remoteproc: imx_rproc: add i.MX8QM/QXP peng.fan
2020-02-19  7:27 ` [PATCH 8/9] remoteproc: imx_rproc: support i.MX7ULP peng.fan
2020-02-19  7:27 ` [PATCH 9/9] remoteproc: imx_rproc: add i.MX8MM support peng.fan
2020-02-19 18:24 ` [PATCH 0/9] remoteproc: imx_rproc: support i.MX8/8M/7ULP Mathieu Poirier
2020-02-20  1:36   ` Peng Fan
2020-02-20 21:25     ` Mathieu Poirier
2020-02-21  1:35       ` Peng Fan
2020-02-21  6:51 ` Oleksij Rempel
2020-02-21  6:56   ` Peng Fan
2020-02-21  7:03     ` Uwe Kleine-König
2020-02-21  7:08       ` Peng Fan

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).