Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
[linux-2.6-microblaze.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 Bindings
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,imx8mq-cm4
19       - fsl,imx8mm-cm4
20       - fsl,imx7d-cm4
21       - fsl,imx6sx-cm4
22
23   clocks:
24     maxItems: 1
25
26   syscon:
27     $ref: /schemas/types.yaml#/definitions/phandle
28     description:
29       Phandle to syscon block which provide access to System Reset Controller
30
31   mbox-names:
32     items:
33       - const: tx
34       - const: rx
35       - const: rxdb
36
37   mboxes:
38     description:
39       This property is required only if the rpmsg/virtio functionality is used.
40       List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
41       (see mailbox/fsl,mu.yaml)
42     minItems: 1
43     maxItems: 3
44
45   memory-region:
46     description:
47       If present, a phandle for a reserved memory area that used for vdev buffer,
48       resource table, vring region and others used by remote processor.
49     minItems: 1
50     maxItems: 32
51
52 required:
53   - compatible
54   - clocks
55   - syscon
56
57 additionalProperties: false
58
59 examples:
60   - |
61     #include <dt-bindings/clock/imx7d-clock.h>
62     m4_reserved_sysmem1: cm4@80000000 {
63       reg = <0x80000000 0x80000>;
64     };
65
66     m4_reserved_sysmem2: cm4@81000000 {
67       reg = <0x81000000 0x80000>;
68     };
69
70     imx7d-cm4 {
71       compatible        = "fsl,imx7d-cm4";
72       memory-region     = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
73       syscon            = <&src>;
74       clocks            = <&clks IMX7D_ARM_M4_ROOT_CLK>;
75     };
76
77   - |
78     #include <dt-bindings/clock/imx8mm-clock.h>
79
80     imx8mm-cm4 {
81       compatible = "fsl,imx8mm-cm4";
82       clocks = <&clk IMX8MM_CLK_M4_DIV>;
83       mbox-names = "tx", "rx", "rxdb";
84       mboxes = <&mu 0 1
85                 &mu 1 1
86                 &mu 3 1>;
87       memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
88       syscon = <&src>;
89     };
90 ...