imx8qxp C0 shared memory with messaging unit stopped working

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

imx8qxp C0 shared memory with messaging unit stopped working

535 Views
michael_mezger
Contributor I

Hi,

we are currently using the imx8qxp B0 with yocto linux on a35 and custom code on the CM4. The SCFW is running on porting kit 1.2.7.1. The yocto and cm4 are communicating over RPMessage (with shared memory and the MU).

Now we startet porting the software to the newer C0 Processor with newer SCFW porting kit 1.8.0. We got everything working expect the RPMessage. It seems, after the cm4 has done its SW-watchdog tests (it resets the cm4 2 times), a connection could not be established anymore (without resets it is working, but this is no option). We could not find anything related in the C0 migration guide (AN12770). All newer SCFW porting kits also are working fine on B0 Processor, so we assume its related to C0.

In the changelog from SCFW 1.8.0 to 1.9.0 a relatable Bugfix is mentioned, but only for imx8dxl(A1) (we also tried this porting kit, with no better result).

So is there possibly a similar bug open for the QXP(C0), or are we doing something wrong?

 

Thanks in advanced.

Kind regards

Michael

Tags (3)
0 Kudos
1 Reply

501 Views
michael_mezger
Contributor I

We managed to find the cause and a hotfix for the problem:

On each CM4 reset (on Board with C0) a IRQ flag "SC_IRQ_GROUP_REBOOTED" is set by SCU. This causes the linux RPMessage driver to perform a "imx_rpmsg_restore" which leads to not creating the tty devices.

Our hotfix for now is suppressing the irq trigger "ss_irq_trigger(SC_IRQ_GROUP_REBOOTEDBIT(pt),SC_PT_ALL);" in "scfw_export_mx8qx\platform\svc\pm\svc.c" on each intentional reset of the CM4.

We are still not sure why this not happens on B0. So if you have any idea about this, or found a better solution, please let us know.

 

Kind regards

Michael

0 Kudos