xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml (revision 84e85359f4999a439aa12e04bf0ae9e13e00fc66)
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
7*84e85359SKrzysztof Kozlowskititle: NXP i.MX Co-Processor
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:
18fcb24583SPeng Fan      - fsl,imx6sx-cm4
19fcb24583SPeng Fan      - fsl,imx7d-cm4
20fcb24583SPeng Fan      - fsl,imx7ulp-cm4
21bc403b4dSPeng Fan      - fsl,imx8mm-cm4
225dc9e9d1SPeng Fan      - fsl,imx8mn-cm7
235dc9e9d1SPeng Fan      - fsl,imx8mp-cm7
24fcb24583SPeng Fan      - fsl,imx8mq-cm4
255f5fb974SPeng Fan      - fsl,imx8ulp-cm33
26fcb24583SPeng Fan      - fsl,imx93-cm33
279e4c3179SPeng Fan
289e4c3179SPeng Fan  clocks:
299e4c3179SPeng Fan    maxItems: 1
309e4c3179SPeng Fan
319e4c3179SPeng Fan  syscon:
329e4c3179SPeng Fan    $ref: /schemas/types.yaml#/definitions/phandle
339e4c3179SPeng Fan    description:
349e4c3179SPeng Fan      Phandle to syscon block which provide access to System Reset Controller
359e4c3179SPeng Fan
36bc403b4dSPeng Fan  mbox-names:
37bc403b4dSPeng Fan    items:
38bc403b4dSPeng Fan      - const: tx
39bc403b4dSPeng Fan      - const: rx
40bc403b4dSPeng Fan      - const: rxdb
41bc403b4dSPeng Fan
42bc403b4dSPeng Fan  mboxes:
43bc403b4dSPeng Fan    description:
44bc403b4dSPeng Fan      This property is required only if the rpmsg/virtio functionality is used.
45bc403b4dSPeng Fan      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
46bc403b4dSPeng Fan      (see mailbox/fsl,mu.yaml)
47bc403b4dSPeng Fan    minItems: 1
48bc403b4dSPeng Fan    maxItems: 3
49bc403b4dSPeng Fan
509e4c3179SPeng Fan  memory-region:
519e4c3179SPeng Fan    description:
529e4c3179SPeng Fan      If present, a phandle for a reserved memory area that used for vdev buffer,
539e4c3179SPeng Fan      resource table, vring region and others used by remote processor.
549e4c3179SPeng Fan    minItems: 1
559e4c3179SPeng Fan    maxItems: 32
569e4c3179SPeng Fan
57bad70abdSPeng Fan  fsl,auto-boot:
58bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
59bad70abdSPeng Fan    description:
60bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
61bad70abdSPeng Fan      processor automatically.
62bad70abdSPeng Fan
639e4c3179SPeng Fanrequired:
649e4c3179SPeng Fan  - compatible
659e4c3179SPeng Fan
669e4c3179SPeng FanadditionalProperties: false
679e4c3179SPeng Fan
689e4c3179SPeng Fanexamples:
699e4c3179SPeng Fan  - |
709e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
719e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
729e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
739e4c3179SPeng Fan    };
749e4c3179SPeng Fan
759e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
769e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
779e4c3179SPeng Fan    };
789e4c3179SPeng Fan
799e4c3179SPeng Fan    imx7d-cm4 {
809e4c3179SPeng Fan      compatible	= "fsl,imx7d-cm4";
819e4c3179SPeng Fan      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
829e4c3179SPeng Fan      syscon		= <&src>;
839e4c3179SPeng Fan      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
849e4c3179SPeng Fan    };
859e4c3179SPeng Fan
86bc403b4dSPeng Fan  - |
87bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
88bc403b4dSPeng Fan
89bc403b4dSPeng Fan    imx8mm-cm4 {
90bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
91bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
92bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
93bc403b4dSPeng Fan      mboxes = <&mu 0 1
94bc403b4dSPeng Fan                &mu 1 1
95bc403b4dSPeng Fan                &mu 3 1>;
96bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
97bc403b4dSPeng Fan      syscon = <&src>;
98bc403b4dSPeng Fan    };
999e4c3179SPeng Fan...
100