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