19e4c3179SPeng Fan# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
29e4c3179SPeng Fan%YAML 1.2
39e4c3179SPeng Fan---
482f2734dSRob Herring$id: http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#
582f2734dSRob 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
23*05117bafSMarek Vasut      - fsl,imx8mn-cm7-mmio
245dc9e9d1SPeng Fan      - fsl,imx8mp-cm7
25*05117bafSMarek Vasut      - fsl,imx8mp-cm7-mmio
26fcb24583SPeng Fan      - fsl,imx8mq-cm4
2750506664SPeng Fan      - fsl,imx8qm-cm4
28190362e0SPeng Fan      - fsl,imx8qxp-cm4
295f5fb974SPeng Fan      - fsl,imx8ulp-cm33
30fcb24583SPeng Fan      - fsl,imx93-cm33
319e4c3179SPeng Fan
329e4c3179SPeng Fan  clocks:
339e4c3179SPeng Fan    maxItems: 1
349e4c3179SPeng Fan
359e4c3179SPeng Fan  syscon:
369e4c3179SPeng Fan    $ref: /schemas/types.yaml#/definitions/phandle
379e4c3179SPeng Fan    description:
389e4c3179SPeng Fan      Phandle to syscon block which provide access to System Reset Controller
399e4c3179SPeng Fan
40bc403b4dSPeng Fan  mbox-names:
41bc403b4dSPeng Fan    items:
42bc403b4dSPeng Fan      - const: tx
43bc403b4dSPeng Fan      - const: rx
44bc403b4dSPeng Fan      - const: rxdb
45bc403b4dSPeng Fan
46bc403b4dSPeng Fan  mboxes:
47bc403b4dSPeng Fan    description:
48bc403b4dSPeng Fan      This property is required only if the rpmsg/virtio functionality is used.
49bc403b4dSPeng Fan      List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
50bc403b4dSPeng Fan      (see mailbox/fsl,mu.yaml)
51bc403b4dSPeng Fan    minItems: 1
52bc403b4dSPeng Fan    maxItems: 3
53bc403b4dSPeng Fan
549e4c3179SPeng Fan  memory-region:
559e4c3179SPeng Fan    description:
569e4c3179SPeng Fan      If present, a phandle for a reserved memory area that used for vdev buffer,
579e4c3179SPeng Fan      resource table, vring region and others used by remote processor.
589e4c3179SPeng Fan    minItems: 1
599e4c3179SPeng Fan    maxItems: 32
609e4c3179SPeng Fan
61190362e0SPeng Fan  power-domains:
62190362e0SPeng Fan    maxItems: 8
63190362e0SPeng Fan
64bad70abdSPeng Fan  fsl,auto-boot:
65bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
66bad70abdSPeng Fan    description:
67bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
68bad70abdSPeng Fan      processor automatically.
69bad70abdSPeng Fan
70190362e0SPeng Fan  fsl,entry-address:
71190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
72190362e0SPeng Fan    description:
73190362e0SPeng Fan      Specify CPU entry address for SCU enabled processor.
74190362e0SPeng Fan
75*05117bafSMarek Vasut  fsl,iomuxc-gpr:
76*05117bafSMarek Vasut    $ref: /schemas/types.yaml#/definitions/phandle
77*05117bafSMarek Vasut    description:
78*05117bafSMarek Vasut      Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit.
79*05117bafSMarek Vasut
80190362e0SPeng Fan  fsl,resource-id:
81190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
82190362e0SPeng Fan    description:
83190362e0SPeng Fan      This property is to specify the resource id of the remote processor in SoC
84190362e0SPeng Fan      which supports SCFW
85190362e0SPeng Fan
869e4c3179SPeng Fanrequired:
879e4c3179SPeng Fan  - compatible
889e4c3179SPeng Fan
89*05117bafSMarek VasutallOf:
90*05117bafSMarek Vasut  - if:
91*05117bafSMarek Vasut      properties:
92*05117bafSMarek Vasut        compatible:
93*05117bafSMarek Vasut          not:
94*05117bafSMarek Vasut            contains:
95*05117bafSMarek Vasut              enum:
96*05117bafSMarek Vasut                - fsl,imx8mn-cm7-mmio
97*05117bafSMarek Vasut                - fsl,imx8mp-cm7-mmio
98*05117bafSMarek Vasut    then:
99*05117bafSMarek Vasut      properties:
100*05117bafSMarek Vasut        fsl,iomuxc-gpr: false
101*05117bafSMarek Vasut
1029e4c3179SPeng FanadditionalProperties: false
1039e4c3179SPeng Fan
1049e4c3179SPeng Fanexamples:
1059e4c3179SPeng Fan  - |
1069e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
1079e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
1089e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
1099e4c3179SPeng Fan    };
1109e4c3179SPeng Fan
1119e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
1129e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
1139e4c3179SPeng Fan    };
1149e4c3179SPeng Fan
1159e4c3179SPeng Fan    imx7d-cm4 {
1169e4c3179SPeng Fan      compatible	= "fsl,imx7d-cm4";
1179e4c3179SPeng Fan      memory-region	= <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
1189e4c3179SPeng Fan      syscon		= <&src>;
1199e4c3179SPeng Fan      clocks		= <&clks IMX7D_ARM_M4_ROOT_CLK>;
1209e4c3179SPeng Fan    };
1219e4c3179SPeng Fan
122bc403b4dSPeng Fan  - |
123bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
124bc403b4dSPeng Fan
125bc403b4dSPeng Fan    imx8mm-cm4 {
126bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
127bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
128bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
129bc403b4dSPeng Fan      mboxes = <&mu 0 1
130bc403b4dSPeng Fan                &mu 1 1
131bc403b4dSPeng Fan                &mu 3 1>;
132bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
133bc403b4dSPeng Fan      syscon = <&src>;
134bc403b4dSPeng Fan    };
1359e4c3179SPeng Fan...
136