summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHiago De Franco <hiago.franco@toradex.com>2025-04-22 13:15:09 -0300
committerHiago De Franco <hiago.franco@toradex.com>2025-04-22 17:27:11 -0300
commit1c9cef0936e03d68cc7808b1b8c88e9138d8f951 (patch)
tree44147153b800f2bffad2544c9b48d5de9d97d597
parentf9a7fa7fb042fad58aad7ab8cccf3175f44e0967 (diff)
colibri-imx8x: add hmp overlay
Add support for RPMsg and Remoteproc with the upstream Linux kernel. Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
-rw-r--r--overlays/Makefile1
-rw-r--r--overlays/colibri-imx8x_hmp_overlay.dts73
2 files changed, 74 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile
index 2dbedc2..9ba538e 100644
--- a/overlays/Makefile
+++ b/overlays/Makefile
@@ -54,6 +54,7 @@ dtb-y += colibri-imx7_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += colibri-imx7_panel-res-touch-7inch_overlay.dtbo
dtb-y += colibri-imx7_spidev_overlay.dtbo
dtb-y += colibri-imx7_vga-640x480_overlay.dtbo
+dtb-y += colibri-imx8x_hmp_overlay.dtbo
dtb-y += verdin-am62_dsi-to-hdmi_overlay.dtbo
dtb-y += verdin-am62_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo
dtb-y += verdin-am62_nau8822-btl_overlay.dtbo
diff --git a/overlays/colibri-imx8x_hmp_overlay.dts b/overlays/colibri-imx8x_hmp_overlay.dts
new file mode 100644
index 0000000..de56bb9
--- /dev/null
+++ b/overlays/colibri-imx8x_hmp_overlay.dts
@@ -0,0 +1,73 @@
+// SPDX-License-Identifier: GPL-2.0-or-later OR MIT
+/* Copyright 2025 Toradex */
+
+// Enable RPMSG and RemoteProc for Colibri iMX8X
+
+/dts-v1/;
+/plugin/;
+
+#include <dt-bindings/firmware/imx/rsrc.h>
+
+/ {
+ compatible = "toradex,colibri-imx8x";
+};
+
+&{/} {
+ #address-cells = <2>;
+ #size-cells = <2>;
+
+ imx8x-cm4 {
+ compatible = "fsl,imx8qxp-cm4";
+ mbox-names = "tx", "rx", "rxdb";
+ mboxes = <&lsio_mu5 0 1
+ &lsio_mu5 1 1
+ &lsio_mu5 3 1>;
+ memory-region = <&vdev0buffer>, <&vdev0vring0>, <&vdev0vring1>,
+ <&vdev1vring0>, <&vdev1vring1>, <&rsc_table>;
+ power-domains = <&pd IMX_SC_R_M4_0_PID0>,
+ <&pd IMX_SC_R_M4_0_MU_1A>;
+ fsl,entry-address = <0x34fe0000>;
+ fsl,resource-id = <IMX_SC_R_M4_0_PID0>;
+ };
+
+ reserved-memory {
+ #address-cells = <2>;
+ #size-cells = <2>;
+ ranges;
+
+ vdev0vring0: vdev0vring0@90000000 {
+ reg = <0 0x90000000 0 0x8000>;
+ no-map;
+ };
+
+ vdev0vring1: vdev0vring1@90008000 {
+ reg = <0 0x90008000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring0: vdev1vring0@90010000 {
+ reg = <0 0x90010000 0 0x8000>;
+ no-map;
+ };
+
+ vdev1vring1: vdev1vring1@90018000 {
+ reg = <0 0x90018000 0 0x8000>;
+ no-map;
+ };
+
+ rsc_table: rsc-table@900ff000 {
+ reg = <0 0x900ff000 0 0x1000>;
+ no-map;
+ };
+
+ vdev0buffer: vdev0buffer@90400000 {
+ compatible = "shared-dma-pool";
+ reg = <0 0x90400000 0 0x100000>;
+ no-map;
+ };
+ };
+};
+
+&lsio_mu5 {
+ status = "okay";
+};