Re: [REGRESSION] Kernel reboots unexpectdely on i.MX8X when Cortex-M4 is running and it was started by U-Boot bootaux

From: Hiago De Franco
Date: Mon Apr 14 2025 - 18:45:11 EST


Hi Peng,

On Mon, Apr 14, 2025 at 06:09:49AM +0000, Peng Fan wrote:
>
> In your case, m4 is in same scu partition as a53, so m4
> power domain is manageable(owned) by Linux.
>
> However to m4 earlyboot(kicked by bootloader),
> if you not wanna linux to handle m4, use scu_rm
> to create a separate partition in u-boot.
> If you wanna linux to handle m4, but not wanna linux
> to shutdown the pd in kernel boot, imx_rproc.c
> needs to be built in, and need to add a clock entry
> or use clock optional api in imx_rproc.c .
>
> Current imx_rproc.c needs a clock entry to probe pass.
>
> I think in your case, this driver not probe pass, so the
> M4 pd still get powered off.

This was correct, indeed. I was not able to find exactly where the
cortex-m4 clock is defined, so I added a clk_dummy to the imx8x-cm4
remoteproc node and now it works, the code continues to run and I can
control the m4 with Linux. Thanks!

One thing that I noticed is I cannot make the RPMsg work with this
devicetree node, even tought I assigned the correct memory-regions
(vdev0buffer, vdev0ring0...). Also tested with the rpmsg-lite from the
linux-imx. Is this supposed to work with RPMsg as well?

>
>
> Regards,
> Peng.
>

Hiago