RPmsg in pico-imx7d using mainline linux (5.6.xx) and Yocto dunfell


Neuber Sousa <neuberfran@...>
 

I have been interested in communicating between the a7 and the m4 of my imx7d-pico using RPmsg for a long time.

Today I found that this tutorial:https://www.youtube.com/watch?v=4zMyjaEgj2U&t=1182s

I don’t use mainline linux. I stay using kernel 5.6.xx with libgpiod 1.5

Using libgpiod I want to press a controlled button on a7 and flash an LED (which is waiting for this command) on m4

 

I was checking the issue link below and I have 2 questions below:

https://community.nxp.com/t5/i-MX-Processors/I-cant-get-the-linux-side-of-yocto-rpmsg-example-for-imx6sx/m-p/490383

1 - How can I adapt this project:https://hub.mender.io/t/technexion-pico-pi-imx7/136/6 

to the nxp forum project (link above) for me to get the following files: mu.c, imx_rpmsg.c, imx_rpmsg_tty.c and/or imx_rpmsg_tty.ko

2 - What is the best way to do RPmsg communication between a7 and m4 using Yocto on a7?


Fabio Estevam
 

Hi Neuber,

On Sun, Aug 15, 2021 at 10:50 PM Neuber Sousa <neuberfran@gmail.com> wrote:

I have been interested in communicating between the a7 and the m4 of my imx7d-pico using RPmsg for a long time.

Today I found that this tutorial:https://www.youtube.com/watch?v=4zMyjaEgj2U&t=1182s

I don’t use mainline linux. I stay using kernel 5.6.xx with libgpiod 1.5
5.6 is an unsupported kernel version. It is not a good idea to develop
using such an unsupported kernel version.

Please see the supported ones at https://www.kernel.org/

Using libgpiod I want to press a controlled button on a7 and flash an LED (which is waiting for this command) on m4



I was checking the issue link below and I have 2 questions below:

https://community.nxp.com/t5/i-MX-Processors/I-cant-get-the-linux-side-of-yocto-rpmsg-example-for-imx6sx/m-p/490383

1 - How can I adapt this project:https://hub.mender.io/t/technexion-pico-pi-imx7/136/6

to the nxp forum project (link above) for me to get the following files: mu.c, imx_rpmsg.c, imx_rpmsg_tty.c and/or imx_rpmsg_tty.ko
These drivers only exist on the NXP vendor kernel.

Mainline uses drivers/remoteproc/imx_rproc.c instead.


Fabio Estevam
 

Hi Neuber,

I think you forgot to hit reply-all.

On Mon, Aug 16, 2021 at 10:55 AM Neuber Sousa <neuberfran@gmail.com> wrote:

Hi Fabio,

In this video: https://mail.google.com/mail/u/0/?tab=rm&ogbl#all/FMfcgzGkZsrTzPBfwTMTnDdMWlJRQlCW

at 23 minutes and 17 seconds, Diego Suero uses the following files:

../arch/arm/mach-imx/mu.c
../drivers/rpmsg/imx_rpmsg.c
../drivers/rpmsg/imx_rpmsg_tty.c

What are the equivalent files (on mainline linux, one of them seems to be: ../drivers/remoteproc/imx_rproc.c)
so that I can implement RPmsg on mainline linux/device tree correctly?
The mailbox driver is at drivers/mailbox/imx-mailbox.c in mainline.


Or is the approach to mainline linux (RPmsg) in imx7d-pico different?


i.e.:I haven't had any problems with dunfell using kernel 5.6.xx at the moment.
Sure, feel free to use it. It is just that you will not get any
support from the community using this version.

Personally, I haven't used the remoteproc driver in mainline, so I
can't help you.