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