Hi,
I am new to EDMA driver of Netra (DM816x) and would like to know which transfer mode should I use for my use case.
DMA read operation
- Src address is 16 bit register (It is a memory mapped slave peripheral's fix address value) - CONSTANT
- Data bus from which register needs to be read is 16 bit
- Destination is DDR memory with incremental address.
- I want to initiate data xfer of predefined size, let's say 4KB
Question:
Should I use ASYNC mode or ABSYNC mode ?
With ABSYNC mode, I can get interrupts for EDMA event, but data value are not expected values.
Are following configurations correct or not ?
omap_set_dma_transfer_params(info->dma_ch, 2, nBytes>>1,1, ABSYNC, 0, 0); //acnt= 2 bytes, bcnt= total bytes /2, ccnt=1
omap_set_dma_src_params(info->dma_ch, 0, OMAP_DMA_AMODE_CONSTANT, dma_src, 0, 0); // src_ei=0, src_fi =0
omap_set_dma_dest_params(info->dma_ch, 0, OMAP_DMA_AMODE_POST_INC, dma_dest, 2, 0);//dest_ei=0, dest_fi =0
Are above arguments correct for my usecase ?
Please confirm about dest_ei, dest_fi and acnt, bcnt, ccnt.
Thanks in advance,
Swtea