diff options
author | Hiago De Franco <hiago.franco@toradex.com> | 2022-12-28 18:12:04 -0300 |
---|---|---|
committer | Hiago De Franco <hiago.franco@toradex.com> | 2023-04-25 15:10:28 +0000 |
commit | 760aa56ac4cd3a706d19581787caf1af8f773df5 (patch) | |
tree | b58f401dd563ae969cc9f071fc177ccd1fc539de | |
parent | 25ccbfbb8dba1970ede2d389ccc33a40e964ee38 (diff) |
verdin-imx8mp: Add HMP support
This overlay enables the RemoteProc driver, RPMsg, allocates
necessary memory regions and disables necessary peripherals to
prevent kernel panics. This overlay works only on nonwifi modules.
Signed-off-by: Hiago De Franco <hiago.franco@toradex.com>
-rw-r--r-- | overlays/Makefile | 1 | ||||
-rw-r--r-- | overlays/verdin-imx8mp_hmp_overlay.dts | 84 |
2 files changed, 85 insertions, 0 deletions
diff --git a/overlays/Makefile b/overlays/Makefile index 95a5a84..e95317b 100644 --- a/overlays/Makefile +++ b/overlays/Makefile @@ -51,6 +51,7 @@ dtb-y += verdin-imx8mp_dsi-to-hdmi_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-lvds_panel-cap-touch-10inch-lvds_overlay.dtbo dtb-y += verdin-imx8mp_dsi-to-lvds_panel-lvds-dual-channel-1080p_overlay.dtbo dtb-y += verdin-imx8mp_hdmi_overlay.dtbo +dtb-y += verdin-imx8mp_hmp_overlay.dtbo dtb-y += verdin-imx8mp_mezzanine_ov5640-alt-jumpers_overlay.dtbo dtb-y += verdin-imx8mp_mezzanine_ov5640-default-jumpers_overlay.dtbo dtb-y += verdin-imx8mp_mezzanine_panel-cap-touch-10inch-lvds_overlay.dtbo diff --git a/overlays/verdin-imx8mp_hmp_overlay.dts b/overlays/verdin-imx8mp_hmp_overlay.dts new file mode 100644 index 0000000..a237845 --- /dev/null +++ b/overlays/verdin-imx8mp_hmp_overlay.dts @@ -0,0 +1,84 @@ +// SPDX-License-Identifier: GPL-2.0-or-later OR MIT +/* + * Copyright 2023 Toradex + */ + +/* Enable RPMSG and the RemoteProc M7 driver. + * Note: This overlay is working only on nonwifi modules. For more information, please + * check the Verdin iMX8MP Datasheet section 5.4 Wi-Fi and Bluetooth. + */ + +/dts-v1/; +/plugin/; + +#include <dt-bindings/clock/imx8mp-clock.h> + +/ { + compatible = "toradex,verdin-imx8mp"; +}; + +&{/} { + imx8mp-cm7 { + compatible = "fsl,imx8mp-cm7"; + clocks = <&clk IMX8MP_CLK_M7_DIV>; + mbox-names = "tx", "rx", "rxdb"; + mboxes = <&mu 0 1 + &mu 1 1 + &mu 3 1>; + memory-region = <&vdevbuffer>, <&vdev0vring0>, <&vdev0vring1>, <&rsc_table>, <&m7_reserved>; + rsc-da = <0x55000000>; + syscon = <&src>; + fsl,startup-delay-ms = <500>; + }; +}; + +&i2c3 { + status = "disabled"; +}; + +&pwm4 { + status = "disabled"; +}; + +&resmem { + #address-cells = <2>; + #size-cells = <2>; + + m7_reserved: m7@0x80000000 { + no-map; + reg = <0 0x80000000 0 0x1000000>; + }; + + vdev0vring0: vdev0vring0@55000000 { + no-map; + reg = <0 0x55000000 0 0x8000>; + }; + + vdev0vring1: vdev0vring1@55008000 { + no-map; + reg = <0 0x55008000 0 0x8000>; + }; + + vdevbuffer: vdevbuffer@55400000 { + compatible = "shared-dma-pool"; + no-map; + reg = <0 0x55400000 0 0x100000>; + }; + + rsc_table: rsc_table@550ff000 { + no-map; + reg = <0 0x550ff000 0 0x1000>; + }; +}; + +&sai3 { + status = "disabled"; +}; + +&sdma3 { + status = "disabled"; +}; + +&uart4 { + status = "disabled"; +}; |