xref: /linux/Documentation/devicetree/bindings/remoteproc/fsl,imx-rproc.yaml (revision a1ff5a7d78a036d6c2178ee5acd6ba4946243800)
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
2305117bafSMarek Vasut      - fsl,imx8mn-cm7-mmio
245dc9e9d1SPeng Fan      - fsl,imx8mp-cm7
2505117bafSMarek 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:
62*78aaf429SFrank Li    minItems: 2
63190362e0SPeng Fan    maxItems: 8
64190362e0SPeng Fan
65bad70abdSPeng Fan  fsl,auto-boot:
66bad70abdSPeng Fan    $ref: /schemas/types.yaml#/definitions/flag
67bad70abdSPeng Fan    description:
68bad70abdSPeng Fan      Indicate whether need to load the default firmware and start the remote
69bad70abdSPeng Fan      processor automatically.
70bad70abdSPeng Fan
71190362e0SPeng Fan  fsl,entry-address:
72190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
73190362e0SPeng Fan    description:
74190362e0SPeng Fan      Specify CPU entry address for SCU enabled processor.
75190362e0SPeng Fan
7605117bafSMarek Vasut  fsl,iomuxc-gpr:
7705117bafSMarek Vasut    $ref: /schemas/types.yaml#/definitions/phandle
7805117bafSMarek Vasut    description:
7905117bafSMarek Vasut      Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit.
8005117bafSMarek Vasut
81190362e0SPeng Fan  fsl,resource-id:
82190362e0SPeng Fan    $ref: /schemas/types.yaml#/definitions/uint32
83190362e0SPeng Fan    description:
84190362e0SPeng Fan      This property is to specify the resource id of the remote processor in SoC
85190362e0SPeng Fan      which supports SCFW
86190362e0SPeng Fan
879e4c3179SPeng Fanrequired:
889e4c3179SPeng Fan  - compatible
899e4c3179SPeng Fan
9005117bafSMarek VasutallOf:
9105117bafSMarek Vasut  - if:
9205117bafSMarek Vasut      properties:
9305117bafSMarek Vasut        compatible:
9405117bafSMarek Vasut          not:
9505117bafSMarek Vasut            contains:
9605117bafSMarek Vasut              enum:
9705117bafSMarek Vasut                - fsl,imx8mn-cm7-mmio
9805117bafSMarek Vasut                - fsl,imx8mp-cm7-mmio
9905117bafSMarek Vasut    then:
10005117bafSMarek Vasut      properties:
10105117bafSMarek Vasut        fsl,iomuxc-gpr: false
10205117bafSMarek Vasut
103*78aaf429SFrank Li  - if:
104*78aaf429SFrank Li      properties:
105*78aaf429SFrank Li        compatible:
106*78aaf429SFrank Li          contains:
107*78aaf429SFrank Li            enum:
108*78aaf429SFrank Li              - fsl,imx8qxp-cm4
109*78aaf429SFrank Li              - fsl,imx8qm-cm4
110*78aaf429SFrank Li    then:
111*78aaf429SFrank Li      required:
112*78aaf429SFrank Li        - power-domains
113*78aaf429SFrank Li    else:
114*78aaf429SFrank Li      properties:
115*78aaf429SFrank Li        power-domains: false
116*78aaf429SFrank Li
1179e4c3179SPeng FanadditionalProperties: false
1189e4c3179SPeng Fan
1199e4c3179SPeng Fanexamples:
1209e4c3179SPeng Fan  - |
1219e4c3179SPeng Fan    #include <dt-bindings/clock/imx7d-clock.h>
1229e4c3179SPeng Fan    m4_reserved_sysmem1: cm4@80000000 {
1239e4c3179SPeng Fan      reg = <0x80000000 0x80000>;
1249e4c3179SPeng Fan    };
1259e4c3179SPeng Fan
1269e4c3179SPeng Fan    m4_reserved_sysmem2: cm4@81000000 {
1279e4c3179SPeng Fan      reg = <0x81000000 0x80000>;
1289e4c3179SPeng Fan    };
1299e4c3179SPeng Fan
1309e4c3179SPeng Fan    imx7d-cm4 {
1319e4c3179SPeng Fan      compatible = "fsl,imx7d-cm4";
1329e4c3179SPeng Fan      memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
1339e4c3179SPeng Fan      syscon = <&src>;
1349e4c3179SPeng Fan      clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
1359e4c3179SPeng Fan    };
1369e4c3179SPeng Fan
137bc403b4dSPeng Fan  - |
138bc403b4dSPeng Fan    #include <dt-bindings/clock/imx8mm-clock.h>
139bc403b4dSPeng Fan
140bc403b4dSPeng Fan    imx8mm-cm4 {
141bc403b4dSPeng Fan      compatible = "fsl,imx8mm-cm4";
142bc403b4dSPeng Fan      clocks = <&clk IMX8MM_CLK_M4_DIV>;
143bc403b4dSPeng Fan      mbox-names = "tx", "rx", "rxdb";
144bc403b4dSPeng Fan      mboxes = <&mu 0 1
145bc403b4dSPeng Fan                &mu 1 1
146bc403b4dSPeng Fan                &mu 3 1>;
147bc403b4dSPeng Fan      memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
148bc403b4dSPeng Fan      syscon = <&src>;
149bc403b4dSPeng Fan    };
1509e4c3179SPeng Fan...
151