This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

EDMA read operation for Netra

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