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,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 79required: 80 - compatible 81 82additionalProperties: false 83 84examples: 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... 116