# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) %YAML 1.2 --- $id: http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml# $schema: http://devicetree.org/meta-schemas/core.yaml# title: NXP i.MX Co-Processor description: This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs. maintainers: - Peng Fan properties: compatible: enum: - fsl,imx6sx-cm4 - fsl,imx7d-cm4 - fsl,imx7ulp-cm4 - fsl,imx8mm-cm4 - fsl,imx8mn-cm7 - fsl,imx8mn-cm7-mmio - fsl,imx8mp-cm7 - fsl,imx8mp-cm7-mmio - fsl,imx8mq-cm4 - fsl,imx8qm-cm4 - fsl,imx8qxp-cm4 - fsl,imx8ulp-cm33 - fsl,imx93-cm33 clocks: maxItems: 1 syscon: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to syscon block which provide access to System Reset Controller mbox-names: items: - const: tx - const: rx - const: rxdb mboxes: description: This property is required only if the rpmsg/virtio functionality is used. List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB. (see mailbox/fsl,mu.yaml) minItems: 1 maxItems: 3 memory-region: description: If present, a phandle for a reserved memory area that used for vdev buffer, resource table, vring region and others used by remote processor. minItems: 1 maxItems: 32 power-domains: minItems: 2 maxItems: 8 fsl,auto-boot: $ref: /schemas/types.yaml#/definitions/flag description: Indicate whether need to load the default firmware and start the remote processor automatically. fsl,entry-address: $ref: /schemas/types.yaml#/definitions/uint32 description: Specify CPU entry address for SCU enabled processor. fsl,iomuxc-gpr: $ref: /schemas/types.yaml#/definitions/phandle description: Phandle to IOMUXC GPR block which provide access to CM7 CPUWAIT bit. fsl,resource-id: $ref: /schemas/types.yaml#/definitions/uint32 description: This property is to specify the resource id of the remote processor in SoC which supports SCFW required: - compatible allOf: - if: properties: compatible: not: contains: enum: - fsl,imx8mn-cm7-mmio - fsl,imx8mp-cm7-mmio then: properties: fsl,iomuxc-gpr: false - if: properties: compatible: contains: enum: - fsl,imx8qxp-cm4 - fsl,imx8qm-cm4 then: required: - power-domains else: properties: power-domains: false additionalProperties: false examples: - | #include m4_reserved_sysmem1: cm4@80000000 { reg = <0x80000000 0x80000>; }; m4_reserved_sysmem2: cm4@81000000 { reg = <0x81000000 0x80000>; }; imx7d-cm4 { compatible = "fsl,imx7d-cm4"; memory-region = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>; syscon = <&src>; clocks = <&clks IMX7D_ARM_M4_ROOT_CLK>; }; - | #include imx8mm-cm4 { compatible = "fsl,imx8mm-cm4"; clocks = <&clk IMX8MM_CLK_M4_DIV>; mbox-names = "tx", "rx", "rxdb"; mboxes = <&mu 0 1 &mu 1 1 &mu 3 1>; memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>; syscon = <&src>; }; ...