xref: /openbmc/linux/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml (revision 190362e03bed3f7bde7635f14c955fc9ed96eb78)
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:
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
25*190362e0SPeng Fan      - fsl,imx8qxp-cm4
265f5fb974SPeng Fan      - fsl,imx8ulp-cm33
27fcb24583SPeng Fan      - fsl,imx93-cm33
289e4c3179SPeng Fan
299e4c3179SPeng Fan  clocks:
309e4c3179SPeng Fan    maxItems: 1
319e4c3179SPeng Fan
329e4c3179SPeng Fan  syscon:
339e4c3179SPeng Fan    $ref: /schemas/types.yaml#/definitions/phandle
349e4c3179SPeng Fan    description:
359e4c3179SPeng Fan      Phandle to syscon block which provide access to System Reset Controller
369e4c3179SPeng Fan
37bc403b4dSPeng Fan  mbox-names:
38bc403b4dSPeng Fan    items:
39bc403b4dSPeng Fan      - const: tx
40bc403b4dSPeng Fan      - const: rx
41bc403b4dSPeng Fan      - const: rxdb
42bc403b4dSPeng Fan
43bc403b4dSPeng Fan  mboxes:
44bc403b4dSPeng Fan    description:
45bc403b4dSPeng Fan      This property is required only if the rpmsg/virtio functionality is used.
46bc403b4dSPeng Fan      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
47bc403b4dSPeng Fan      (see mailbox/fsl,mu.yaml)
48bc403b4dSPeng Fan    minItems: 1
49bc403b4dSPeng Fan    maxItems: 3
50bc403b4dSPeng Fan
519e4c3179SPeng Fan  memory-region:
529e4c3179SPeng Fan    description:
539e4c3179SPeng Fan      If present, a phandle for a reserved memory area that used for vdev buffer,
549e4c3179SPeng Fan      resource table, vring region and others used by remote processor.
559e4c3179SPeng Fan    minItems: 1
569e4c3179SPeng Fan    maxItems: 32
579e4c3179SPeng Fan
58*190362e0SPeng Fan  power-domains:
59*190362e0SPeng Fan    maxItems: 8
60*190362e0SPeng Fan
61bad70abdSPeng Fan  fsl,auto-boot:
62bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
63bad70abdSPeng Fan    description:
64bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
65bad70abdSPeng Fan      processor automatically.
66bad70abdSPeng Fan
67*190362e0SPeng Fan  fsl,entry-address:
68*190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
69*190362e0SPeng Fan    description:
70*190362e0SPeng Fan      Specify CPU entry address for SCU enabled processor.
71*190362e0SPeng Fan
72*190362e0SPeng Fan  fsl,resource-id:
73*190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
74*190362e0SPeng Fan    description:
75*190362e0SPeng Fan      This property is to specify the resource id of the remote processor in SoC
76*190362e0SPeng Fan      which supports SCFW
77*190362e0SPeng Fan
789e4c3179SPeng Fanrequired:
799e4c3179SPeng Fan  - compatible
809e4c3179SPeng Fan
819e4c3179SPeng FanadditionalProperties: false
829e4c3179SPeng Fan
839e4c3179SPeng Fanexamples:
849e4c3179SPeng Fan  - |
859e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
869e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
879e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
889e4c3179SPeng Fan    };
899e4c3179SPeng Fan
909e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
919e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
929e4c3179SPeng Fan    };
939e4c3179SPeng Fan
949e4c3179SPeng Fan    imx7d-cm4 {
959e4c3179SPeng Fan      compatible	= "fsl,imx7d-cm4";
969e4c3179SPeng Fan      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
979e4c3179SPeng Fan      syscon		= <&src>;
989e4c3179SPeng Fan      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
999e4c3179SPeng Fan    };
1009e4c3179SPeng Fan
101bc403b4dSPeng Fan  - |
102bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
103bc403b4dSPeng Fan
104bc403b4dSPeng Fan    imx8mm-cm4 {
105bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
106bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
107bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
108bc403b4dSPeng Fan      mboxes = <&mu 0 1
109bc403b4dSPeng Fan                &mu 1 1
110bc403b4dSPeng Fan                &mu 3 1>;
111bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
112bc403b4dSPeng Fan      syscon = <&src>;
113bc403b4dSPeng Fan    };
1149e4c3179SPeng Fan...
115