RPMSG on iMX8M-Plus having error "imx_rproc_kick: failed"

Hi @aditya.yantra,

I apologize for the delay, I was out of the office last week. I would like to thank you for the very detailed answer!

First things first, from my research, the 62 error code that you are seeing means “timer expired”:

#define	ETIME		62	/* Timer expired */

The error numbers from the Linux kernel are defined under include/uapi/asm-generic/errno.h. Please note that the negative value that you’re seeing is probably from a return -ETIME. Searching for this line inside imx_rproc.c, I couldn’t find anything, so it might come from a different file.

I couldn’t reproduce the error you’re seeing on my side. Can you please share with me how you’re compiling your code? Also, have you had the chance to test the device tree overlay that I mentioned?

One to debug it would be by enabling the kernel dynamic debugging, by running

# echo "file imx_rproc.c +p" > /sys/kernel/debug/dynamic_debug/control

inside your module. This should print some debug messages that you will be able to see in your dmesg:

# dmesg | grep -i -E "(rproc|rpmsg)"

Or you can also check for system calls by using strace:

# strace modprobe imx_rpmsg_tty

as an example.

Also, I would like to mention that we uploaded the verdin-imx8mm_hmp_overlay.dts to our repository (please note this is for mini, we are still working on the plus). This might help you with some insights into your overlays.

Best Regards,
Hiago.