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.

How to using EDMA fast copy uImage to DDR in uboot

Other Parts Discussed in Thread: OMAPL138

Hi all

when i start up my board (omapl138),there is take a long time  to copy uImage and rootfs form spi flash ,How to using DMA fast copy uImage to DDR in uboot?

Now I use spi_edma of this examples in OMAPL_138 ARM

{

EDMA3Initialize(); /* Initializes the EDMA3 Instance. */
SPIInitialize(); /* Initializes the SPI1 Instance. */

/* Request EDMA3CC for Tx and Rx channels for SPI1. */
RequestEDMA3Channels();
SPIEnable(SOC_SPI_1_REGS); /* Enable SPI communication. */

ReadFromFlash(din, len);

SPIReset(SOC_SPI_1_REGS); /* Reset SPI communication. */
EDMA3Deinit(SOC_EDMA30CC_0_REGS, evtQ); /*delete edma*/

}

but at ReadFromFlash I use polling method 

{

while((0 == flagTx) || (0 == flagRx))
{
Edma3ComplHandlerIsr();
Edma3CCErrHandlerIsr();
}

}

but In Edma3ComplHandlerIsr, isIPR = EDMA3GetIntrStatus(SOC_EDMA30CC_0_REGS) return 0 form the second times.

thanks!