We have a custom Yocto build based on the 5.4.70 Yocto release. In U-boot I am able to load and start the M4 process and get the following message from the serial port:
RPMSG String Echo FreeRTOS RTOS API Demo...
I then try to load the imx_rpmsg_tty driver in Linux by doing the following:
insmod /lib/modules/5.4.70+g5ca957774d45/kernel/drivers/rpmsg/imx_rpmsg_tty.ko
I never received any messages in the kernel log, so I added a print statement in the init function of the imx_rpmsg_tty.c file. Now when I insmod the driver I get the print statement, but the probe function is not called.
static int __init init(void)
{
printk("NLB imx_rpmmsg_tty\n");
return register_rpmsg_driver(&rpmsg_tty_driver);
}
I do see the imx_rpmsg driver registered on bootup:
[ 0.079095] imx rpmsg driver is registered.
[ 0.721916] mmcblk0rpmb: mmc0:0001 S0J35A partition 3 4.00 MiB, chardev (239:0)
[ 58.720062] NLB imx_rpmmsg_tty
[ 158.781342] NLB imx_rpmmsg_tty
But I don't see the imx_rpmsg_tty device in the dev nodes (/dev). I suspect it has something to do with the device tree. I do have memory reserved. I have also tried to set the rpmsg node to okay:
&rpmsg{
/*
* 64K for one rpmsg instance:
*/
vdev-nums = <2>;
reg = <0x0 0x90000000 0x0 0x20000>;
memory-region = <&vdevbuffer>;
status = "okay";
};
When I do that I get an error with the imx_rpmsg driver:
[ 0.079195] imx rpmsg driver is registered.
[ 0.723292] mmcblk0rpmb: mmc0:0001 S0J35A partition 3 4.00 MiB, chardev (239:0)
[ 1.006545] imx-rpmsg: probe of 90000000.rpmsg failed with error -16
When I look through the imx_rpmsg driver, it has references to sound stuff. Can anyone point me in the right direction?