summaryrefslogtreecommitdiff
path: root/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
diff options
context:
space:
mode:
Diffstat (limited to 'Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml')
-rw-r--r--Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml165
1 files changed, 165 insertions, 0 deletions
diff --git a/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml b/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
new file mode 100644
index 000000000000..b0cfb48e60cf
--- /dev/null
+++ b/Documentation/devicetree/bindings/remoteproc/imx-rproc.yaml
@@ -0,0 +1,165 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: "http://devicetree.org/schemas/remoteproc/imx-rproc.yaml#"
+$schema: "http://devicetree.org/meta-schemas/core.yaml#"
+
+title: NXP iMX6SX/iMX7D Co-Processor Bindings
+
+description:
+ This binding provides support for ARM Cortex M4 Co-processor found on
+ some NXP iMX SoCs.
+
+maintainers:
+ - Oleksij Rempel <o.rempel@pengutronix.de>
+ - Peng Fan <peng.fan@nxp.com>
+
+properties:
+ compatible:
+ enum:
+ - "fsl,imx7d-cm4"
+ - "fsl,imx6sx-cm4"
+ - "fsl,imx7ulp-cm4"
+ - "fsl,imx8mm-cm4"
+ - "fsl,imx8qm-cm4"
+ - "fsl,imx8qxp-cm4"
+
+ early-booted: true
+
+ clocks:
+ items:
+ Clock for co-processor (See: ../clock/clock-bindings.txt)
+
+ syscon:
+ description:
+ Phandle to syscon block which provide access to System Reset Controller
+ allOf:
+ - $ref: "/schemas/types.yaml#/definitions/phandle"
+
+ 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.txt)
+ maxItems: 3
+
+ mbox-names:
+ items:
+ - const: tx
+ - const: rx
+ - const: rxdb
+ maxItems: 3
+
+ memory-region:
+ description:
+ List of phandles to the reserved memory regions.
+ (see ../reserved-memory/reserved-memory.txt)
+
+ mub-partition:
+ description:
+ The remote Co-processor hardware partition which is only valid for
+ i.MX SoCs with hardware partition feature.
+ $ref: /schemas/types.yaml#/definitions/uint32
+
+ rsrc-table:
+ description:
+ Resource table array is required only if the rpmsg/virtio
+ functionality is used.
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32-array
+
+ rsrc-da:
+ description:
+ Resource table address is required only if the rpmsg/virtio
+ functionality is used, rsrc-table has high priority.
+ allOf:
+ - $ref: /schemas/types.yaml#/definitions/uint32
+
+required:
+ - compatible
+ - clocks
+ - syscon
+
+examples:
+ - |
+ #include <dt-bindings/clock/imx7d-clock.h>
+ 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>;
+ };
+
+ imx8x-cm4 {
+ compatible = "fsl,imx8qxp-cm4";
+ rsrc-table = <
+ 0x1 0x2 0x0 0x0 0x18 0x5c
+ 3
+ /*fw_rsc_vdev*/
+ 7 0 1 0 0 0x200
+ /*fw_rsc_vdev_vring*/
+ 0x90000000 4096 256 1 0
+ 0x90008000 4096 256 2 0
+ 3
+ /*fw_rsc_vdev*/
+ 7 1 1 0 0 0x200
+ /*fw_rsc_vdev_vring*/
+ 0x90010000 4096 256 1 0
+ 0x90018000 4096 256 2 0
+ >;
+ early-booted;
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&lsio_mu5 0 1
+ &lsio_mu5 1 1
+ &lsio_mu5 3 1>;
+ mub-partition = <3>;
+ memory-region = <&vdev0vring0>, <&vdev0vring1>, <&vdev0buffer>,
+ <&vdev1vring0>, <&vdev1vring1>, <&vdev0buffer>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ vdev0vring0: vdev0vring0@90000000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90000000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0vring1: vdev0vring1@90008000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90008000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring0: vdev1vring0@90010000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90010000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring1: vdev1vring1@90018000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90018000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0buffer: vdev0buffer {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90400000 0 0x100000>;
+ no-map;
+ };
+};
+
+...