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.

Reg use of QDMA for SDRAM to NAND Flash transfer

Hi,

I want to transfer some data from SDRAM to NAND Flash on OMAP L138.

I did following.
1. Copy the data from SDRAM to local variable.
2. Erase NAND Flash block 0.
3. Write NAND Program command byte, Address bytes.
4. Write data bytes from local variable to NAND Offset data.
5. Write NAND program Confirm byte.

With this I am able write the data correctly.

Same thing I tried as following using QDMA.
1. Erase NAND Flash block 0.
2. Write NAND Program command byte, Address bytes
3. Configure QDMA with destination address as NAND Offset data.
4. Write NAND program Confirm byte.

With this procedure, when I read data from NAND flash, I see wrong data.

Can we use QDMA for SDRAM to NAND flash like this?

Please let me know.

thanks, Durga

  • The EDMA engine can be used to move data to the EMIF for writing (and reading) NAND pages.  I don't know if I've seen it done with the QDMA channels, but certainly with the regular EDMA channels.  You would typically use the EDMA to move 512 byte chunks of data due to the requirements to collect/process ECC info from the EMIF, but if you weren't concerned with ECC for some reason, writing a page's worth of data should work.

    So, though I can't pinpoint your specific issue, I will say that using the EDMA with a NAND connected to the EMIF can and has been done.

    Regards, Daniel