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!