2019-11-28 07:20 AM
Hi
I am working on the A7-M4 big data exchange example included in the next branch:
https://github.com/STMicroelectronics/meta-st-stm32mpu-app-logicanalyser
There is a la_reserved node that is included in the
reserved-memory node of the stm32mp157c-demo-logic-analyser-mx.dts
la_reserved: buffer@db000000 {
compatible = "shared-dma-pool";
reg = ;
no-map;
};
It looks that this memory is used for the m4_dma2 device tree node.
&m4_dma2 {
memory-region = ;
status = "okay";
}
It looks that it is to reserve specific dma external memory addresses for the m4, but If i am not wrong the A7 is mapping external dma memory inside the rpmsg_sdb_mmap() function using dma_alloc_writecombine(), so this DMA memory should be allocated from the CMA, then the physical address obtained are sent to the M4 using the function below
/* Send information to remote proc */
rpmsg_sdb_send_buf_info(_rpmsg_sdb, _buffer);
So, why is the la_reserved node used?
You can see the functions above (rpmsg_sdb_mmap() ,dma_alloc_writecombine() and rpmsg_sdb_send_buf_info()) inside the stm32_rpmsg_db Linux driver.
Thanks
Alberto
Solved! Go to Solution.
2019-11-29 02:31 AM
Hi. ST has already confirmed to me la_reserved node is not needed and can be deleted from device tree.
2019-11-29 02:31 AM
Hi. ST has already confirmed to me la_reserved node is not needed and can be deleted from device tree.
2020-09-09 10:52 PM
hi , ALibe
do you try use dma exchange data for A7 to M4
logicanalyser just M4 ---> dma ---> ddr ---> A7
Now i want to try A7 ---> ddr --->dma --->m4