Merge tag 'rproc-v6.2' of git://git.kernel.org/pub/scm/linux/kernel/git/remoteproc...
[platform/kernel/linux-starfive.git] / Documentation / devicetree / bindings / remoteproc / fsl,imx-rproc.yaml
1 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#"
5 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
6
7 title: NXP i.MX Co-Processor
8
9 description:
10   This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.
11
12 maintainers:
13   - Peng Fan <peng.fan@nxp.com>
14
15 properties:
16   compatible:
17     enum:
18       - fsl,imx6sx-cm4
19       - fsl,imx7d-cm4
20       - fsl,imx7ulp-cm4
21       - fsl,imx8mm-cm4
22       - fsl,imx8mn-cm7
23       - fsl,imx8mp-cm7
24       - fsl,imx8mq-cm4
25       - fsl,imx8qm-cm4
26       - fsl,imx8qxp-cm4
27       - fsl,imx8ulp-cm33
28       - fsl,imx93-cm33
29
30   clocks:
31     maxItems: 1
32
33   syscon:
34     $ref: /schemas/types.yaml#/definitions/phandle
35     description:
36       Phandle to syscon block which provide access to System Reset Controller
37
38   mbox-names:
39     items:
40       - const: tx
41       - const: rx
42       - const: rxdb
43
44   mboxes:
45     description:
46       This property is required only if the rpmsg/virtio functionality is used.
47       List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
48       (see mailbox/fsl,mu.yaml)
49     minItems: 1
50     maxItems: 3
51
52   memory-region:
53     description:
54       If present, a phandle for a reserved memory area that used for vdev buffer,
55       resource table, vring region and others used by remote processor.
56     minItems: 1
57     maxItems: 32
58
59   power-domains:
60     maxItems: 8
61
62   fsl,auto-boot:
63     $ref: /schemas/types.yaml#/definitions/flag
64     description:
65       Indicate whether need to load the default firmware and start the remote
66       processor automatically.
67
68   fsl,entry-address:
69     $ref: /schemas/types.yaml#/definitions/uint32
70     description:
71       Specify CPU entry address for SCU enabled processor.
72
73   fsl,resource-id:
74     $ref: /schemas/types.yaml#/definitions/uint32
75     description:
76       This property is to specify the resource id of the remote processor in SoC
77       which supports SCFW
78
79 required:
80   - compatible
81
82 additionalProperties: false
83
84 examples:
85   - |
86     #include <dt-bindings/clock/imx7d-clock.h>
87     m4_reserved_sysmem1: cm4@80000000 {
88       reg = <0x80000000 0x80000>;
89     };
90
91     m4_reserved_sysmem2: cm4@81000000 {
92       reg = <0x81000000 0x80000>;
93     };
94
95     imx7d-cm4 {
96       compatible        = "fsl,imx7d-cm4";
97       memory-region     = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
98       syscon            = <&src>;
99       clocks            = <&clks IMX7D_ARM_M4_ROOT_CLK>;
100     };
101
102   - |
103     #include <dt-bindings/clock/imx8mm-clock.h>
104
105     imx8mm-cm4 {
106       compatible = "fsl,imx8mm-cm4";
107       clocks = <&clk IMX8MM_CLK_M4_DIV>;
108       mbox-names = "tx", "rx", "rxdb";
109       mboxes = <&mu 0 1
110                 &mu 1 1
111                 &mu 3 1>;
112       memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
113       syscon = <&src>;
114     };
115 ...