Showing results for 
Show  only  | Search instead for 
Did you mean: 
Registered: ‎04-01-2021

Multiple DMA proxy settings in Petalinux


I have designed a HW project for signal processing on Vivado 2018.3 for Zynq-7000 SoC and I stated to develop program for Petalinux to record/process data. In my design, I have 2 AXI DMA blocks.

Current goal is to use Linux DMA API to transfer data from PL to PS and return data from PS to PL after some data processing. I managed to use DMA API to transfer data from PL to PS using first DMA block (reference: Linux DMA From User Space - Xilinx Wiki - Confluence (

However, I could not use 2nd DMA block to transfer data from PS to PL. When I created Petalinux boot files I added following lines in .dtsi, but I wonder if I have to add setting for the 2nd DMA. Should I simply change &axi_dma_0 to &axi_dma_1? Do I have to change dma-names to set different name for multiple tx/rx channels?

* dma_proxy {
* compatible ="xlnx,dma_proxy";
* dmas = <&axi_dma_0 0
* &axi_dma_0 1>;
* dma-names = "dma_proxy_tx", "dma_proxy_rx";
* }

Please advise me if there is any document I can refer to use Linux DMA API for multiple DMA blocks.

Thank you for your help in advance.

Tags (3)
0 Kudos
0 Replies