Hi there,
We are trying to make our M4 firmware partly run on DRR RAM as we run out of space in the TCM region. For that purpose, we modified the MIMX8QX6xxxxx_cm4_ram.ld file in order to use the m_data2 region (see file MIMX8QX6xxxxx_cm4_ram_data2.ld (6.9 KB)). Then, we applied the changes to the device tree which are described here ) so we came up with this overlay colibri-imx8x_hmp_overlay_patched.dts (1.9 KB).
The outcome when the firmware is run by using uboot is that Torizon is started and the m4 firmware is apparently started too, but the port /dev/ttyRPMSG30 is missing. The port is shown and RPMSG works when the standard MIMX8QX6xxxxx_cm_ram.ld linker file is used.
When using remoteproc, this is shown in dmesg, but the port is not there either.
[ 926.780537] remoteproc remoteproc0: powering up imx-rproc
[ 926.781626] remoteproc remoteproc0: Booting fw image TestRPMSG.elf, size 144040
[ 926.784284] rproc-virtio rproc-virtio.2.auto: assigned reserved memory node vdevbuffer@90400000
[ 926.895246] imx-rproc imx8x-cm4-0: imx_rproc_kick: failed (0, err:-62)
[ 926.901840] virtio_rpmsg_bus virtio2: rpmsg host is online
[ 926.901989] rproc-virtio rproc-virtio.2.auto: registered virtio2 (type 7)
[ 926.902031] rproc-virtio rproc-virtio.3.auto: assigned reserved memory node vdevbuffer@90400000
[ 927.005237] imx-rproc imx8x-cm4-0: imx_rproc_kick: failed (2, err:-62)
[ 927.011830] virtio_rpmsg_bus virtio3: rpmsg host is online
[ 927.011971] rproc-virtio rproc-virtio.3.auto: registered virtio3 (type 7)
[ 927.011991] remoteproc remoteproc0: remote processor imx-rproc is now up
This usage of m_data2 works smoothly on Yocto, so surely we are missing something… Any help would be appreciated.
Thanks in advance.