cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
probus
Contributor
Contributor
71,490 Views
Registered: ‎04-28-2014

AXI DMA with Zynq Running Linux

Jump to solution

Hello Dear All,

 

I would like to use AXI DMA in order to pass data to my custom ip. I think it is not a hard job for bare metal applications(an example tutorial: http://www.fpgadeveloper.com/2014/08/using-the-axi-dma-in-vivado.html) however, I couldn't find any complete guide to use AXI DMA in Linux. I am trying to put pieces together but I couldn't do what I want so far.

 

Would you please help me with that, do you have any suggestion or do you know any sources related to this subject?

 

Thanks,

62 Replies
thburghout
Participant
Participant
2,798 Views
Registered: ‎10-27-2017
Hi davirol,

I do think that petalinux takes control of the dma device by default. By importing the hw design during petalinux configuration it sets up a generated device tree.

During boot linux can scan these devices for devices which require drivers to be probed. You might want to hide this part of the device tree. See "Configuring Devicetree" from UG1144.

You should also double check whether the xilinx dma driver is disabled in the rootfs config.

To clarify, I have not used DMA baremetal next to petalinux so I'm not sure whether this is the solution to your problem.

I you have any updates, please let me know. I might need to use this technique in the future.

Thomas
0 Kudos
jvillal
Newbie
Newbie
2,746 Views
Registered: ‎12-15-2017

Hi davirol,

 

I am facing the exact same problem as you were: I am running petalinux in CPU0 and baremetal application in CPU1, where I implemented DMA transactions. I've been working with the baremetal application (running on CPU0 and no petalinux) for eight months with no issue, but it is not working when I use petalinux.

 

Did you get any further getting it up and running?

 

Any help will be very very appreciated.

0 Kudos
majic@xilinx
Contributor
Contributor
1,556 Views
Registered: ‎05-03-2018
Remove your pl330 DMA driver,everyting is oK !
petalinux-config -c kernel
find dma pl330 driver ,unlock it.
0 Kudos