xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml (revision 82f2734d99d7e6a2327ff4e2122dd0db425b598f)
19e4c3179SPeng Fan# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29e4c3179SPeng Fan%YAML 1.2
39e4c3179SPeng Fan---
4*82f2734dSRob Herring$id: http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#
5*82f2734dSRob Herring$schema: http://devicetree.org/meta-schemas/core.yaml#
69e4c3179SPeng Fan
784e85359SKrzysztof 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
2550506664SPeng Fan      - fsl,imx8qm-cm4
26190362e0SPeng Fan      - fsl,imx8qxp-cm4
275f5fb974SPeng Fan      - fsl,imx8ulp-cm33
28fcb24583SPeng Fan      - fsl,imx93-cm33
299e4c3179SPeng Fan
309e4c3179SPeng Fan  clocks:
319e4c3179SPeng Fan    maxItems: 1
329e4c3179SPeng Fan
339e4c3179SPeng Fan  syscon:
349e4c3179SPeng Fan    $ref: /schemas/types.yaml#/definitions/phandle
359e4c3179SPeng Fan    description:
369e4c3179SPeng Fan      Phandle to syscon block which provide access to System Reset Controller
379e4c3179SPeng Fan
38bc403b4dSPeng Fan  mbox-names:
39bc403b4dSPeng Fan    items:
40bc403b4dSPeng Fan      - const: tx
41bc403b4dSPeng Fan      - const: rx
42bc403b4dSPeng Fan      - const: rxdb
43bc403b4dSPeng Fan
44bc403b4dSPeng Fan  mboxes:
45bc403b4dSPeng Fan    description:
46bc403b4dSPeng Fan      This property is required only if the rpmsg/virtio functionality is used.
47bc403b4dSPeng Fan      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
48bc403b4dSPeng Fan      (see mailbox/fsl,mu.yaml)
49bc403b4dSPeng Fan    minItems: 1
50bc403b4dSPeng Fan    maxItems: 3
51bc403b4dSPeng Fan
529e4c3179SPeng Fan  memory-region:
539e4c3179SPeng Fan    description:
549e4c3179SPeng Fan      If present, a phandle for a reserved memory area that used for vdev buffer,
559e4c3179SPeng Fan      resource table, vring region and others used by remote processor.
569e4c3179SPeng Fan    minItems: 1
579e4c3179SPeng Fan    maxItems: 32
589e4c3179SPeng Fan
59190362e0SPeng Fan  power-domains:
60190362e0SPeng Fan    maxItems: 8
61190362e0SPeng Fan
62bad70abdSPeng Fan  fsl,auto-boot:
63bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
64bad70abdSPeng Fan    description:
65bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
66bad70abdSPeng Fan      processor automatically.
67bad70abdSPeng Fan
68190362e0SPeng Fan  fsl,entry-address:
69190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
70190362e0SPeng Fan    description:
71190362e0SPeng Fan      Specify CPU entry address for SCU enabled processor.
72190362e0SPeng Fan
73190362e0SPeng Fan  fsl,resource-id:
74190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
75190362e0SPeng Fan    description:
76190362e0SPeng Fan      This property is to specify the resource id of the remote processor in SoC
77190362e0SPeng Fan      which supports SCFW
78190362e0SPeng Fan
799e4c3179SPeng Fanrequired:
809e4c3179SPeng Fan  - compatible
819e4c3179SPeng Fan
829e4c3179SPeng FanadditionalProperties: false
839e4c3179SPeng Fan
849e4c3179SPeng Fanexamples:
859e4c3179SPeng Fan  - |
869e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
879e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
889e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
899e4c3179SPeng Fan    };
909e4c3179SPeng Fan
919e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
929e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
939e4c3179SPeng Fan    };
949e4c3179SPeng Fan
959e4c3179SPeng Fan    imx7d-cm4 {
969e4c3179SPeng Fan      compatible	= "fsl,imx7d-cm4";
979e4c3179SPeng Fan      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
989e4c3179SPeng Fan      syscon		= <&src>;
999e4c3179SPeng Fan      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
1009e4c3179SPeng Fan    };
1019e4c3179SPeng Fan
102bc403b4dSPeng Fan  - |
103bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
104bc403b4dSPeng Fan
105bc403b4dSPeng Fan    imx8mm-cm4 {
106bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
107bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
108bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
109bc403b4dSPeng Fan      mboxes = <&mu 0 1
110bc403b4dSPeng Fan                &mu 1 1
111bc403b4dSPeng Fan                &mu 3 1>;
112bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
113bc403b4dSPeng Fan      syscon = <&src>;
114bc403b4dSPeng Fan    };
1159e4c3179SPeng Fan...
116