Hi, I'm trying to run the rpmsg_lite_str_echo_rtos by remoteproc but the firmware freezes into rpmsg_lite_wait_for_link_up function
echo stop > /sys/devices/platform/imx8mp-cm7/remoteproc/remoteproc0/state
echo -n tcm.elf > /sys/devices/platform/imx8mp-cm7/remoteproc/remoteproc0/firmware
echo start > /sys/devices/platform/imx8mp-cm7/remoteproc/remoteproc0/state
If I load the same software from u-boot all work,
fatload mmc 1:1 0x48000000 tcm.bin;cp.b 0x48000000 0x7e0000 20000; bootaux 0x7e0000
at boot the firmware enter into rpmsg_lite_wait_for_link_up and when the imx_rproc kernel module is loaded the firmware continue correctly
I followed AN5317 and patched the kernel/u-boot to enable the M7 clock
under my dts m7 section
reserved-memory {
#address-cells = <2>;
#size-cells = <2>;
ranges;
m4_reserved: m4@0x80000000 {
no-map;
reg = <0 0x80000000 0 0x9000000>;
};
m7_ddr_alias: m4@0x10000000 {
no-map;
reg = <0 0x10000000 0 0x1000000>;
};
m7_itcm: m4@0x7E0000 {
no-map;
reg = <0 0x7E0000 0 0x20000>;
};
m7_dtcm: m4@0x800000 {
no-map;
reg = <0 0x800000 0 0x20000>;
};
vdev0vring0: vdev0vring0@55000000 {
reg = <0 0x55000000 0 0x8000>;
no-map;
};
vdev0vring1: vdev0vring1@55008000 {
reg = <0 0x55008000 0 0x8000>;
no-map;
};
vdevbuffer: vdevbuffer@55400000 {
compatible = "shared-dma-pool";
reg = <0 0x55400000 0 0x100000>;
no-map;
};
rsc_table: rsc_table@550ff000 {
reg = <0 0x550ff000 0 0x1000>;
no-map;
};
};
imx8mp-cm7 {
compatible = "fsl,imx8mn-cm7";
rsc-da = <0x55000000>;
clocks = <&clk IMX8MP_CLK_M7_DIV>;
mbox-names = "tx", "rx", "rxdb";
mboxes = <&mu 0 1
&mu 1 1
&mu 3 1>;
memory-region = <&vdev0vring0>, <&vdev0vring1>, <&vdevbuffer>, <&m4_reserved>, <&rsc_table>,
<&m7_itcm>, <&m7_dtcm>, <&m7_ddr_alias>;//, <&fileSharing>;
// fsl,rproc-auto-boot = <1>;
// fsl,rproc-fw-name="imx8mp_m7_TCM_sai_low_power_audio.elf";
status = "okay";
};