Quantcast
Channel: Processors forum - Recent Threads
Viewing all articles
Browse latest Browse all 17527

OMAP-L138: MMC/SD: DMA _SIZE can be greater than FIFO size?

$
0
0

Part Number:OMAP-L138

Hello Champs,

On the TRM 27.3.3 MMC/SD Mode Single-Block Write Operation Using the EDMA, it is said “8. Set up the DMA (DMA size must be greater than or equal to the FIFOLEV setting).”
www.ti.com/.../spruh77c.pdf

Customer could write MMC/SD when DMA_size (64bytes) is equal to FIFO size(64bytes), but when he set DMA_size to be greater than FIFO size, he could not write the data to MMC/SD. 

stEdma3CcPaRamEntry stPaRamEntry;
memset(&stPaRamEntry, 0, sizeof(stEdma3CcPaRamEntry));
stPaRamEntry.option = (1<<20)|(EDMA0_MMCSD0RX_CHANNEL<<12)|(1<<2);
stPaRamEntry.srcAdrr = MMCSD0_DRR;
stPaRamEntry.aCnt = 4;
stPaRamEntry.bCnt = 16;
stPaRamEntry.destAddr = (uint32_t)data;
stPaRamEntry.srcBIdx = 0;
stPaRamEntry.destBIdx = 4;
stPaRamEntry.linkAddr = 0xFFFF;
stPaRamEntry.bCntReload = 0;
stPaRamEntry.srcCIdx = 0;
stPaRamEntry.destCIdx = 64;
stPaRamEntry.cCnt = len/64;

Edma30SetCcPaRam(EDMA0_MMCSD0RX_CHANNEL, &stPaRamEntry);

M_EDMA30CC_GC_ESR = 1 << EDMA0_MMCSD0RX_CHANNEL;

while(!(M_EDMA30CC_GC_IPR&(1<<EDMA0_MMCSD0RX_CHANNEL)))
{}
M_EDMA30CC_GC_ICR |= (1<<EDMA0_MMCSD0RX_CHANNEL);

Note: len=512

Thanks.
Rgds
Shine


Viewing all articles
Browse latest Browse all 17527

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>