Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: NXP i.MX Co-Processor
8
9description:
10 This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.
11
12maintainers:
13 - Peng Fan <peng.fan@nxp.com>
14
15properties:
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,imx8mn-cm7-mmio
24 - fsl,imx8mp-cm7
25 - fsl,imx8mp-cm7-mmio
26 - fsl,imx8mq-cm4
27 - fsl,imx8qm-cm4
28 - fsl,imx8qxp-cm4
29 - fsl,imx8ulp-cm33
30 - fsl,imx93-cm33
31
32 clocks:
33 maxItems: 1
34
35 syscon:
36 $ref: /schemas/types.yaml#/definitions/phandle
37 description:
38 Phandle to syscon block which provide access to System Reset Controller
39
40 mbox-names:
41 items:
42 - const: tx
43 - const: rx
44 - const: rxdb
45
46 mboxes:
47 description:
48 This property is required only if the rpmsg/virtio functionality is used.
49 List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
50 (see mailbox/fsl,mu.yaml)
51 minItems: 1
52 maxItems: 3
53
54 memory-region:
55 description:
56 If present, a phandle for a reserved memory area that used for vdev buffer,
57 resource table, vring region and others used by remote processor.
58 minItems: 1
59 maxItems: 32
60
61 power-domains:
62 minItems: 2
63 maxItems: 8
64
65 fsl,auto-boot:
66 $ref: /schemas/types.yaml#/definitions/flag
67 description:
68 Indicate whether need to load the default firmware and start the remote
69 processor automatically.
70
71 fsl,entry-address:
72 $ref: /schemas/types.yaml#/definitions/uint32
73 description:
74 Specify CPU entry address for SCU enabled processor.
75
76 fsl,iomuxc-gpr:
77 $ref: /schemas/types.yaml#/definitions/phandle
78 description:
79 Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit.
80
81 fsl,resource-id:
82 $ref: /schemas/types.yaml#/definitions/uint32
83 description:
84 This property is to specify the resource id of the remote processor in SoC
85 which supports SCFW
86
87required:
88 - compatible
89
90allOf:
91 - if:
92 properties:
93 compatible:
94 not:
95 contains:
96 enum:
97 - fsl,imx8mn-cm7-mmio
98 - fsl,imx8mp-cm7-mmio
99 then:
100 properties:
101 fsl,iomuxc-gpr: false
102
103 - if:
104 properties:
105 compatible:
106 contains:
107 enum:
108 - fsl,imx8qxp-cm4
109 - fsl,imx8qm-cm4
110 then:
111 required:
112 - power-domains
113 else:
114 properties:
115 power-domains: false
116
117additionalProperties: false
118
119examples:
120 - |
121 #include <dt-bindings/clock/imx7d-clock.h>
122 m4_reserved_sysmem1: cm4@80000000 {
123 reg = <0x80000000 0x80000>;
124 };
125
126 m4_reserved_sysmem2: cm4@81000000 {
127 reg = <0x81000000 0x80000>;
128 };
129
130 imx7d-cm4 {
131 compatible = "fsl,imx7d-cm4";
132 memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
133 syscon = <&src>;
134 clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>;
135 };
136
137 - |
138 #include <dt-bindings/clock/imx8mm-clock.h>
139
140 imx8mm-cm4 {
141 compatible = "fsl,imx8mm-cm4";
142 clocks = <&clk IMX8MM_CLK_M4_DIV>;
143 mbox-names = "tx", "rx", "rxdb";
144 mboxes = <&mu 0 1
145 &mu 1 1
146 &mu 3 1>;
147 memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
148 syscon = <&src>;
149 };
150...