# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
%YAML 1.2
---
$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

description:
  This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.

maintainers:
  - Peng Fan <peng.fan@nxp.com>

properties:
  compatible:
    enum:
      - fsl,imx7d-cm4
      - fsl,imx6sx-cm4

  clocks:
    maxItems: 1

  syscon:
    $ref: /schemas/types.yaml#/definitions/phandle
    description:
      Phandle to syscon block which provide access to System Reset Controller

  memory-region:
    description:
      If present, a phandle for a reserved memory area that used for vdev buffer,
      resource table, vring region and others used by remote processor.
    minItems: 1
    maxItems: 32

required:
  - compatible
  - clocks
  - syscon

additionalProperties: false

examples:
  - |
    #include <dt-bindings/clock/imx7d-clock.h>
    m4_reserved_sysmem1: cm4@80000000 {
      reg = <0x80000000 0x80000>;
    };

    m4_reserved_sysmem2: cm4@81000000 {
      reg = <0x81000000 0x80000>;
    };

    imx7d-cm4 {
      compatible	= "fsl,imx7d-cm4";
      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
      syscon		= <&src>;
      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
    };

...