We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎03-27-2014

Using Hard DMA on Zynq ZC706 with Linux

I am a newbie to Zynq and Linux - having done mostly custom SoC and no-operating system platforms. Our Zynq design has external components hanging off the M_AXI_GP1 port. 


I want to use the hard DMA controller (PL330 from ARM as far as I understand from the TRM) to transfer data from the DRAM to the M_AXI_GP port (of course memory mapped in the ARM Cortex A9 space). There is a lot of information available about different DMA controllers and it is a bit overwhelming as I am unable to figure out a simple use case.


I looked at http://www.wiki.xilinx.com/Zynq+Linux+pl330+DMA but am wondering if I need something as complex? I compiled Linux kernel 3.14 with XILINX_DMA that gave me a ps7-dma@f8003000 in the devicetree.dts file. Can somebody give me pointers to do a simple copy using the hard DMA?


User-mode would be preferred as I wouldn't want to write a kernel loadable module right now unless required. My simple Linux C-app can indeed run as "sudo". I don't need scatter/gather capabilities.


Again, I do understand that this has been asked earlier but the posts all seem to be from engineers who had experience and were asking specific questions. I am stuck getting started :-)

0 Kudos
1 Reply
Xilinx Employee
Xilinx Employee
Registered: ‎09-10-2008

Re: Using Hard DMA on Zynq ZC706 with Linux



There are several threads on this topic lately, please take a look so that we don't need to replicate all that's been discussed.




0 Kudos