DMA mode support for nand prefetch/post-write engine

Hi every one,

This is my frist posting ever in any Forum. I am implementing a boot loader for ARM am3517 on a TI Sitara  am3517evm board. I have a x-Loader code from TI, shipped with the board that accesses the NAND blocks page by page which is very slow.

I am looking for a complete code that I can compile for accessing the NAND in DMA mode with prefetch and write-posting Engine support.

The code probably includes: dma.h, gpmc.h, nand.h, dma.c, gpmc.c, nand.c

I found some patches from   

I tried to contact him, but his email address is not working.

Thank you for looking into this posting.

3 Replies

  • Hi Jim,

    I'll check for some reference code and reply to this thread shortly.  UBOOT or the Linux driver may provide the best reference. 




  • In reply to Lawrence Ronk:

    Hi Jim,


    Checkout the UBoot/SPL patches for AM35x:


    The recent AM35x SDK (version 05.03 and later) use UBoot/SPL (as does AM37x), and the above patches were the start of using DMA for NAND.




  • In reply to Lawrence Ronk:

    Hi Lawrence,

    Thanks a lot for the response. I am working with the x-loader to boot the ti board. The last x-loader I installed was "x-load-1.51-psp04.02.00.07" for ti_am3517 evm board. The x-loader runs from the SRAM in am3517 and copies the raw data/program from NAND into the SDRAM. It calls nand_read_block() to read one block of 128KB page by page at the time, whereas a page is 2KB.

    This method, however is slow in compare to DMA. I would like the same implementation for x-loader but with support of DMA mode. I would like to have the source code for a newer version of the x-loader.