Hello Igor,
thanks for pointing out that the remoteproc framework is integrated in the 5.4.24 kernel. With your steps I could load and start the M4 with sysfs commands (https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-class-remoteproc).
I also tested to stop ($> echo stop >/sys/class/remoteproc/remoteproc0/state) and restart the M4, which you did not recommend. This works as well (M4 really stops). However, if I stop, then load a different firmware and then start again, the old firmware will restart even if the linux console printout and sysfs response indicates that a different firmware was loaded. Possibly the reason is that the driver does not put the M4 to idle.
So my question: Would it be possible to add that feature in a later kernel release? From a user point of view this would improve usability a lot. Also this means that the driver follows the expected behavior:
* see link above "To change the running firmware, ensure the remote processor is stopped (using /sys/class/remoteproc/.../state) and write a new filename."
* in the link of ST you pasted it is allowed to use stop as well.
Bonus question: Is there a better way to request that feature than through this forum?
Thanks for your response,
Andreas