Re: [PATCH V12 02/10] dt-bindings: remoteproc: imx_rproc: add i.MX8MQ/M support

Rob Herring
2021-03-05T22:39:48Z

On Thu, Feb 18, 2021 at 09:24:52AM +0800, peng.fan@oss.nxp.com wrote:
> From: Peng Fan <peng.fan@nxp.com>
>
> Add i.MX8MQ/M support, also include mailbox for rpmsg/virtio usage.
>
> Signed-off-by: Peng Fan <peng.fan@nxp.com>
> ---
> .../bindings/remoteproc/fsl,imx-rproc.yaml | 51 ++++++++++++++++++-
> 1 file changed, 50 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
> index 54d2456530a6..52c8e523506d 100644
> --- a/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
> +++ b/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml
> @@ -4,7 +4,7 @@
> $id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#"
> $schema: "http://devicetree.org/meta-schemas/core.yaml#"
>
> -title: NXP iMX6SX/iMX7D Co-Processor Bindings
> +title: NXP i.MX Co-Processor Bindings
>
> description:
> This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.
> @@ -15,6 +15,8 @@ maintainers:
> properties:
> compatible:
> enum:
> + - fsl,imx8mq-cm4
> + - fsl,imx8mm-cm4
> - fsl,imx7d-cm4
> - fsl,imx6sx-cm4
>
> @@ -26,6 +28,20 @@ properties:
> description:
> Phandle to syscon block which provide access to System Reset Controller
>
> + mbox-names:
> + items:
> + - const: tx
> + - const: rx
> + - const: rxdb
> +
> + mboxes:
> + description:
> + This property is required only if the rpmsg/virtio functionality is used.
> + List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
> + (see mailbox/fsl,mu.yaml)
> + minItems: 1
> + maxItems: 3
> +
> memory-region:
> description:
> If present, a phandle for a reserved memory area that used for vdev buffer,
> @@ -58,4 +74,37 @@ examples:
> clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
> };
>
> + - |
> + #include <dt-bindings/clock/imx8mm-clock.h>
> + rsc_table: rsc_table@550ff000 {
> + no-map;
> + reg = <0x550ff000 0x1000>;
> + };
> +
> + vdev0vring0: vdev0vring0@55000000 {
> + no-map;
> + reg = <0x55000000 0x8000>;
> + };
> +
> + vdev0vring1: vdev0vring1@55008000 {
> + reg = <0x55008000 0x8000>;
> + no-map;
> + };
> +
> + vdev0buffer: vdev0buffer@55400000 {
> + compatible = "shared-dma-pool";
> + reg = <0x55400000 0x100000>;
> + no-map;
> + };

These all go in /reserved-memory, right? Best to omit them from the
example.

> +
> + imx8mm-cm4 {
> + compatible = "fsl,imx8mm-cm4";
> + clocks = <&clk IMX8MM_CLK_M4_DIV>;
> + mbox-names = "tx", "rx", "rxdb";
> + mboxes = <&mu 0 1
> + &mu 1 1
> + &mu 3 1>;
> + memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
> + syscon = <&src>;
> + };
> ...
> --
> 2.30.0
>