Skip to content

Instantly share code, notes, and snippets.

@DanGdl
Created January 26, 2023 16:44
Show Gist options
  • Save DanGdl/0a62109e8651013133598b7ecc68b03e to your computer and use it in GitHub Desktop.
Save DanGdl/0a62109e8651013133598b7ecc68b03e to your computer and use it in GitHub Desktop.
sources about work with dma in xilinx
Guide:
https://stackoverflow.com/questions/70277481/how-to-access-xilinx-axi-dma-from-linux
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1027702787/Linux+DMA+From+User+Space+2.0
Non xilinx driver:
https://github.com/bperez77/xilinx_axidma
Driver: https://github.com/Xilinx/linux-xlnx/blob/master/drivers/dma/xilinx/xilinx_dma.c
DMA test:
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842337/Linux+Soft+DMA+Driver
https://github.com/Xilinx-Wiki-Projects/software-prototypes
DMA user space:
https://www.xilinx.com/video/soc/linux-dma-from-user-space.html
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/1027702787/Linux+DMA+From+User+Space+2.0#Results
https://github.com/Xilinx-Wiki-Projects/software-prototypes/tree/master/linux-user-space-dma
Old: https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842418/Linux+DMA+From+User+Space
No need to use default dma proxy (it's for video):
https://github.com/Xilinx/vcu-modules/tree/xilinx-v2019.2/dmaproxy
https://docs.xilinx.com/r/en-US/pg252-vcu/DMA_PROXY-Module-Usage
Cyclic mode:
https://support.xilinx.com/s/question/0D52E00006pfonGSAQ/linux-dma-in-cyclic-mode-from-user-space-application-using-xilinxs-dma-proxy-driver?language=en_US
modprobe dmatest channel=dma1chan0 timeout=2000 iterations=1 run=1
testing: https://www.kernel.org/doc/html/v4.15/driver-api/dmaengine/dmatest.html
example: https://www.hackster.io/whitney-knitter/introduction-to-using-axi-dma-in-embedded-linux-5264ec
proxy example: https://github.com/Xilinx/vcu-modules/blob/xilinx-v2019.2/dmaproxy/dmaproxy.c
https://indico.cern.ch/event/1139381/contributions/4837053/attachments/2436000/4172001/2022-05-03-SoC%20Interest%20Group%20Meeting%20-%20DMA%20transfers%20between%20PL%20and%20PS%20on%20MPSoC%20from%20user%20space%20without%20custom%20kernel%20driver.pdf
regular dma test: https://github.com/Xilinx/linux-xlnx/blob/master/drivers/dma/dmatest.c
axi dma test: https://github.com/Xilinx/linux-xlnx/blob/master/drivers/dma/xilinx/axidmatest.c
Register mode in kernel: https://github.com/durellinux/ZedBoard_Linux_DMA_driver/blob/master/drivers/ds_axidma.c
Scatter-gather in register mode: https://github.com/OpenDGPS/zynq-axi-dma-sg/blob/master/libcallfpga/zynq-axi-dma-sg.c
UIO: https://www.bastibl.net/futuresdr-2/
Footer
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment