Hello,
it is now linux-2.6.37-psp04.00.00.10 and I have been trying out TI's NAND driver from Linux. I have a DM8168 EVM with the latest EZSDK. I run the following command in Linux:
dd if=/dev/mtd7ro of=/dev/null bs=1M count=100
and sadly only get 4MB/s out of it. In U-Boot it is only 2MB/s!!! i.e. it takes 25 seconds to read 100MB of data from the NAND.
I need to be able to speed this up! Reading the EVM NAND chip datasheet, apparently in 16 bit bus mode we should get 40MB/s, that's 10 times faster.
I have looked at the source code and found this structure:
enum nand_io {
NAND_OMAP_PREFETCH_POLLED = 0, /* prefetch polled mode, default */
NAND_OMAP_POLLED, /* polled mode, without prefetch */
NAND_OMAP_PREFETCH_DMA, /* prefetch enabled sDMA mode */
NAND_OMAP_PREFETCH_IRQ /* prefetch enabled irq mode */
};
For the present kernel TI's source code sets the transfer mode to NAND_OMAP_POLLED. Do any of the others work? (Particularly the DMA mode, and if so what channel should I specify?).
Thanks,
Ralph