sgDMA utilization in Linux


I want to use the sgDMA which is provided by Altera in QSYS to store data comming from an Avalon-ST into the DDR memory of the HPS (which runs linux). The data in the stream is comming from a bunch of sensors, and I want to store that data in the DDR memory so that a linux application can access and use this data.

I am currently building the QSYS system with the sgDMA core, and I have so far not encountered any problems. I will generate a device tree blob and .rbf file, and use that to boot the board. But I am a bit unsure about the software API for the sgDMA. Where can I find the source for the API for the sgDMA, and maybe some example code? Most of my searches found NIOS II examples, and I am almost sure that examples for the Cyclone V HPS under linux must exist.

Any pointers are very appreciated!


Try always to search in the altera-opensource(kernel) git for drivers or doc.
for example, try this on the git top level:
grep -inIER “sgdma” . #you will find there a driver (altera_sgdma.c) and a example (altera_tse_main.c)#
Over there you will find a driver and a big example! (tse)