Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 %YAML 1.2
0003 ---
0004 $id: "http://devicetree.org/schemas/remoteproc/fsl,imx-rproc.yaml#"
0005 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0006 
0007 title: NXP i.MX Co-Processor Bindings
0008 
0009 description:
0010   This binding provides support for ARM Cortex M4 Co-processor found on some NXP iMX SoCs.
0011 
0012 maintainers:
0013   - Peng Fan <peng.fan@nxp.com>
0014 
0015 properties:
0016   compatible:
0017     enum:
0018       - fsl,imx6sx-cm4
0019       - fsl,imx7d-cm4
0020       - fsl,imx7ulp-cm4
0021       - fsl,imx8mm-cm4
0022       - fsl,imx8mn-cm7
0023       - fsl,imx8mp-cm7
0024       - fsl,imx8mq-cm4
0025       - fsl,imx8ulp-cm33
0026       - fsl,imx93-cm33
0027 
0028   clocks:
0029     maxItems: 1
0030 
0031   syscon:
0032     $ref: /schemas/types.yaml#/definitions/phandle
0033     description:
0034       Phandle to syscon block which provide access to System Reset Controller
0035 
0036   mbox-names:
0037     items:
0038       - const: tx
0039       - const: rx
0040       - const: rxdb
0041 
0042   mboxes:
0043     description:
0044       This property is required only if the rpmsg/virtio functionality is used.
0045       List of <&phandle type channel> - 1 channel for TX, 1 channel for RX, 1 channel for RXDB.
0046       (see mailbox/fsl,mu.yaml)
0047     minItems: 1
0048     maxItems: 3
0049 
0050   memory-region:
0051     description:
0052       If present, a phandle for a reserved memory area that used for vdev buffer,
0053       resource table, vring region and others used by remote processor.
0054     minItems: 1
0055     maxItems: 32
0056 
0057   fsl,auto-boot:
0058     $ref: /schemas/types.yaml#/definitions/flag
0059     description:
0060       Indicate whether need to load the default firmware and start the remote
0061       processor automatically.
0062 
0063 required:
0064   - compatible
0065 
0066 additionalProperties: false
0067 
0068 examples:
0069   - |
0070     #include <dt-bindings/clock/imx7d-clock.h>
0071     m4_reserved_sysmem1: cm4@80000000 {
0072       reg = <0x80000000 0x80000>;
0073     };
0074 
0075     m4_reserved_sysmem2: cm4@81000000 {
0076       reg = <0x81000000 0x80000>;
0077     };
0078 
0079     imx7d-cm4 {
0080       compatible        = "fsl,imx7d-cm4";
0081       memory-region     = <&m4_reserved_sysmem1>, <&m4_reserved_sysmem2>;
0082       syscon            = <&src>;
0083       clocks            = <&clks IMX7D_ARM_M4_ROOT_CLK>;
0084     };
0085 
0086   - |
0087     #include <dt-bindings/clock/imx8mm-clock.h>
0088 
0089     imx8mm-cm4 {
0090       compatible = "fsl,imx8mm-cm4";
0091       clocks = <&clk IMX8MM_CLK_M4_DIV>;
0092       mbox-names = "tx", "rx", "rxdb";
0093       mboxes = <&mu 0 1
0094                 &mu 1 1
0095                 &mu 3 1>;
0096       memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>;
0097       syscon = <&src>;
0098     };
0099 ...