xref: /openwifi/driver/xilinx_dma/README.md (revision c687b19dde68596a044484ac40268e31a4b3009d)
1a6085186SLina Ceballos<!--
2ad98df51SJiao XianjunAuthor: Xianjun Jiao
3*c687b19dSXianjun JiaoSPDX-FileCopyrightText: 2021 UGent
4a6085186SLina CeballosSPDX-License-Identifier: AGPL-3.0-or-later
5a6085186SLina Ceballos-->
6*c687b19dSXianjun JiaoWe don't maintain our own (modified) xilinx dma driver anymore! The original xilinx dma driver in the Linux kernel tree can be used.
71196ed1fSXianjun Jiao
8c6ad17acSJiao Xianjun===============Following are obsolete content=================
9c6ad17acSJiao Xianjun
102ee67178SXianjun JiaoCurrently used driver xilinx_dma-orig.c is based on 552d3f11e374ca0d435aa93a571507819eabdda2 of https://github.com/Xilinx/linux-xlnx )
112ee67178SXianjun Jiao
122ee67178SXianjun Jiaoinstruction to generate our customized xilinx dma driver:
132ee67178SXianjun Jiao
142ee67178SXianjun Jiao./make_xilinx_dma.sh
152ee67178SXianjun Jiao
162ee67178SXianjun Jiaoinstruction to generate our customized xilinx dma test program:
172ee67178SXianjun Jiao
182ee67178SXianjun Jiao./make_xilinx_dma_test.sh
192ee67178SXianjun Jiao
202ee67178SXianjun Jiaotest dma driver on board: login to zc706, then:
212ee67178SXianjun Jiao
222ee67178SXianjun Jiao    rm axidmatest.ko
232ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/xilinx_dma/axidmatest.ko
242ee67178SXianjun Jiao    rm ddc.ko
252ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/ddc/ddc.ko
262ee67178SXianjun Jiao    rm xilinx_dma.ko
272ee67178SXianjun Jiao    wget ftp://192.168.10.1/driver/xilinx_dma/xilinx_dma.ko
282ee67178SXianjun Jiao    rmmod axidmatest
292ee67178SXianjun Jiao    rmmod ddc
302ee67178SXianjun Jiao    rmmod xilinx_dma
312ee67178SXianjun Jiao    insmod xilinx_dma.ko
322ee67178SXianjun Jiao    insmod ddc.ko
332ee67178SXianjun Jiao    insmod axidmatest.ko
342ee67178SXianjun Jiao    dmesg -c
352ee67178SXianjun Jiao
362ee67178SXianjun Jiaodmesg will show test result printed by "insmod axidmatest.ko". Like this:
372ee67178SXianjun Jiao
382ee67178SXianjun Jiao    root@analog:~#     dmesg -c
392ee67178SXianjun Jiao    xilinx_dmatest: dropped channel dma5chan0
402ee67178SXianjun Jiao    xilinx_dmatest: dropped channel dma5chan1
412ee67178SXianjun Jiao
422ee67178SXianjun Jiao    sdr,ddc dev_remove base_addr 0xf14e0000
432ee67178SXianjun Jiao    sdr,ddc dev_remove ddc_driver_api_inst 0xbf032284
442ee67178SXianjun Jiao    sdr,ddc dev_remove             ddc_api 0xbf032284
452ee67178SXianjun Jiao    sdr,ddc dev_remove succeed!
462ee67178SXianjun Jiao    xilinx-vdma 43000000.axivdma: Xilinx AXI VDMA Engine Driver Probed!!
472ee67178SXianjun Jiao    xilinx-vdma 80400000.dma: Xilinx AXI DMA Engine Driver Probed!!
482ee67178SXianjun Jiao    xilinx-vdma 80410000.dma: Xilinx AXI DMA Engine Driver Probed!!
492ee67178SXianjun Jiao
502ee67178SXianjun Jiao    sdr,ddc dev_probe match!
512ee67178SXianjun Jiao    sdr,ddc dev_probe io start 0x83c20000 end 0x83c2ffff name /fpga-axi@0/rx_intf@83c20000 flags 0x00000200 desc 0x00000000
522ee67178SXianjun Jiao    sdr,ddc dev_probe base_addr 0xf18e0000
532ee67178SXianjun Jiao    sdr,ddc dev_probe ddc_driver_api_inst 0xbf0e1284
542ee67178SXianjun Jiao    sdr,ddc dev_probe             ddc_api 0xbf0e1284
552ee67178SXianjun Jiao    sdr,ddc dev_probe reset tsf timer
562ee67178SXianjun Jiao    sdr,ddc dev_probe tsf timer runtime read 1 33007 100015us
572ee67178SXianjun Jiao    sdr,ddc dev_probe succeed!
582ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
592ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
602ee67178SXianjun Jiao    sdr,ddc hw_init err 0
612ee67178SXianjun Jiao    dmatest: Started 1 threads using dma5chan0 dma5chan1
622ee67178SXianjun Jiao    align 3
632ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
642ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
652ee67178SXianjun Jiao    sdr,ddc hw_init err 0
662ee67178SXianjun Jiao    tx_tmo 99 status 0 len 6448 DMA_COMPLETE 0
672ee67178SXianjun Jiao    dma5chan0-dma5c: verifying source buffer...
682ee67178SXianjun Jiao    dma5chan0-dma5c: verifying dest buffer...
692ee67178SXianjun Jiao    dma5chan0-dma5c: #0: No errors with
702ee67178SXianjun Jiao    src_off=0x448 dst_off=0x568 len=0x1930
712ee67178SXianjun Jiao    align 3
722ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
732ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
742ee67178SXianjun Jiao    sdr,ddc hw_init err 0
752ee67178SXianjun Jiao    tx_tmo 100 status 0 len 3248 DMA_COMPLETE 0
762ee67178SXianjun Jiao    dma5chan0-dma5c: verifying source buffer...
772ee67178SXianjun Jiao    dma5chan0-dma5c: verifying dest buffer...
782ee67178SXianjun Jiao    dma5chan0-dma5c: #1: No errors with
792ee67178SXianjun Jiao    src_off=0x458 dst_off=0xf08 len=0xcb0
802ee67178SXianjun Jiao    align 3
812ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
822ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
832ee67178SXianjun Jiao    sdr,ddc hw_init err 0
842ee67178SXianjun Jiao    tx_tmo 100 status 0 len 8112 DMA_COMPLETE 0
852ee67178SXianjun Jiao    dma5chan0-dma5c: verifying source buffer...
862ee67178SXianjun Jiao    dma5chan0-dma5c: verifying dest buffer...
872ee67178SXianjun Jiao    dma5chan0-dma5c: #2: No errors with
882ee67178SXianjun Jiao    src_off=0x10 dst_off=0x20 len=0x1fb0
892ee67178SXianjun Jiao    align 3
902ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
912ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
922ee67178SXianjun Jiao    sdr,ddc hw_init err 0
932ee67178SXianjun Jiao    tx_tmo 100 status 0 len 840 DMA_COMPLETE 0
942ee67178SXianjun Jiao    dma5chan0-dma5c: verifying source buffer...
952ee67178SXianjun Jiao    dma5chan0-dma5c: verifying dest buffer...
962ee67178SXianjun Jiao    dma5chan0-dma5c: #3: No errors with
972ee67178SXianjun Jiao    src_off=0x1890 dst_off=0x1268 len=0x348
982ee67178SXianjun Jiao    align 3
992ee67178SXianjun Jiao    sdr,ddc hw_init mode 0
1002ee67178SXianjun Jiao    sdr,ddc hw_init mode DDC_AXIS_LOOP_BACK
1012ee67178SXianjun Jiao    sdr,ddc hw_init err 0
1022ee67178SXianjun Jiao    tx_tmo 100 status 0 len 7816 DMA_COMPLETE 0
1032ee67178SXianjun Jiao    dma5chan0-dma5c: verifying source buffer...
1042ee67178SXianjun Jiao    dma5chan0-dma5c: verifying dest buffer...
1052ee67178SXianjun Jiao    dma5chan0-dma5c: #4: No errors with
1062ee67178SXianjun Jiao    src_off=0x80 dst_off=0x168 len=0x1e88
1072ee67178SXianjun Jiao    dma5chan0-dma5c: terminating after 5 tests, 0 failures (status 0)
1082ee67178SXianjun Jiao
109