[U-Boot] [PATCH v2 0/2] OMAP/GPMC: speed up NAND read access

Daniel Mack zonque at gmail.com
Wed Jun 25 14:43:31 CEST 2014


Resending this since I got no replies on the first version.
I also fixed up the commit log of #1.

------------

I spent some time looking into boot times of AM335x platforms. One big
improvement I made came with adding support for GPMC prefetch mode,
which gave a speed-up of NAND reads of roughly factor 2.
This is what patch #1 does.

Note that this is currently limited to read operations in 8-bit mode, but
I believe it could be easily extended to 16-bit operations if anyone has
hardware to test it on. Using the engine for write mode speed
improvements should also be doable, but I didn't spend time on it yet.
That can be added as a separate patch later.

Patch #2 decreases the GPMC memory map window size from 256MiB to 16MiB.
Admittedly, I'm not quite sure about the reason, but a read from
offset 0 in this memory area will freeze U-Boot instantly if the size
is configured to 256MiB. As contents of the FIFO are accessed in a
pseudo-mode from offset 0 anyway, it doesn't really matter.

What I also did to further speed up my boot was to tweak the GPMC
parameters for the NAND chip on our boards, but that's not part of this
patch set, and probably deserves a little more cleanup.

Test results and feedback very welcome.

Thanks,
Daniel


Daniel Mack (2):
  mtd: OMAP: Enable GPMC prefetch mode
  ARM: omap-common: gpmp: decrease memory region size to 16MiB

 arch/arm/cpu/armv7/omap-common/mem-common.c |   2 +-
 doc/README.nand                             |   5 ++
 drivers/mtd/nand/omap_gpmc.c                | 115 +++++++++++++++++++++++++++-
 include/linux/mtd/omap_gpmc.h               |   6 +-
 4 files changed, 124 insertions(+), 4 deletions(-)

-- 
1.9.3



More information about the U-Boot mailing list