xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml (revision 5f5fb97491b9a934a1ae0196d073e7fe603d8c91)
19e4c3179SPeng Fan# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29e4c3179SPeng Fan%YAML 1.2
39e4c3179SPeng Fan---
49e4c3179SPeng Fan$id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#"
59e4c3179SPeng Fan$schema: "http://devicetree.org/meta-schemas/core.yaml#"
69e4c3179SPeng Fan
7bc403b4dSPeng Fantitle: NXP i.MX Co-Processor Bindings
89e4c3179SPeng Fan
99e4c3179SPeng Fandescription:
109e4c3179SPeng Fan  This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.
119e4c3179SPeng Fan
129e4c3179SPeng Fanmaintainers:
139e4c3179SPeng Fan  - Peng Fan <peng.fan@nxp.com>
149e4c3179SPeng Fan
159e4c3179SPeng Fanproperties:
169e4c3179SPeng Fan  compatible:
179e4c3179SPeng Fan    enum:
18bc403b4dSPeng Fan      - fsl,imx8mq-cm4
19bc403b4dSPeng Fan      - fsl,imx8mm-cm4
205dc9e9d1SPeng Fan      - fsl,imx8mn-cm7
215dc9e9d1SPeng Fan      - fsl,imx8mp-cm7
22*5f5fb974SPeng Fan      - fsl,imx8ulp-cm33
239e4c3179SPeng Fan      - fsl,imx7d-cm4
247a95b19aSPeng Fan      - fsl,imx7ulp-cm4
259e4c3179SPeng Fan      - fsl,imx6sx-cm4
269e4c3179SPeng Fan
279e4c3179SPeng Fan  clocks:
289e4c3179SPeng Fan    maxItems: 1
299e4c3179SPeng Fan
309e4c3179SPeng Fan  syscon:
319e4c3179SPeng Fan    $ref: /schemas/types.yaml#/definitions/phandle
329e4c3179SPeng Fan    description:
339e4c3179SPeng Fan      Phandle to syscon block which provide access to System Reset Controller
349e4c3179SPeng Fan
35bc403b4dSPeng Fan  mbox-names:
36bc403b4dSPeng Fan    items:
37bc403b4dSPeng Fan      - const: tx
38bc403b4dSPeng Fan      - const: rx
39bc403b4dSPeng Fan      - const: rxdb
40bc403b4dSPeng Fan
41bc403b4dSPeng Fan  mboxes:
42bc403b4dSPeng Fan    description:
43bc403b4dSPeng Fan      This property is required only if the rpmsg/virtio functionality is used.
44bc403b4dSPeng Fan      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
45bc403b4dSPeng Fan      (see mailbox/fsl,mu.yaml)
46bc403b4dSPeng Fan    minItems: 1
47bc403b4dSPeng Fan    maxItems: 3
48bc403b4dSPeng Fan
499e4c3179SPeng Fan  memory-region:
509e4c3179SPeng Fan    description:
519e4c3179SPeng Fan      If present, a phandle for a reserved memory area that used for vdev buffer,
529e4c3179SPeng Fan      resource table, vring region and others used by remote processor.
539e4c3179SPeng Fan    minItems: 1
549e4c3179SPeng Fan    maxItems: 32
559e4c3179SPeng Fan
56bad70abdSPeng Fan  fsl,auto-boot:
57bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
58bad70abdSPeng Fan    description:
59bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
60bad70abdSPeng Fan      processor automatically.
61bad70abdSPeng Fan
629e4c3179SPeng Fanrequired:
639e4c3179SPeng Fan  - compatible
649e4c3179SPeng Fan
659e4c3179SPeng FanadditionalProperties: false
669e4c3179SPeng Fan
679e4c3179SPeng Fanexamples:
689e4c3179SPeng Fan  - |
699e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
709e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
719e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
729e4c3179SPeng Fan    };
739e4c3179SPeng Fan
749e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
759e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
769e4c3179SPeng Fan    };
779e4c3179SPeng Fan
789e4c3179SPeng Fan    imx7d-cm4 {
799e4c3179SPeng Fan      compatible	= "fsl,imx7d-cm4";
809e4c3179SPeng Fan      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
819e4c3179SPeng Fan      syscon		= <&src>;
829e4c3179SPeng Fan      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
839e4c3179SPeng Fan    };
849e4c3179SPeng Fan
85bc403b4dSPeng Fan  - |
86bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
87bc403b4dSPeng Fan
88bc403b4dSPeng Fan    imx8mm-cm4 {
89bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
90bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
91bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
92bc403b4dSPeng Fan      mboxes = <&mu 0 1
93bc403b4dSPeng Fan                &mu 1 1
94bc403b4dSPeng Fan                &mu 3 1>;
95bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
96bc403b4dSPeng Fan      syscon = <&src>;
97bc403b4dSPeng Fan    };
989e4c3179SPeng Fan...
99