aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm
diff options
context:
space:
mode:
authorSudhakar Rajashekhara <sudhakar.raj@ti.com>2010-08-09 06:16:38 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2010-09-24 10:40:27 -0400
commit217f13662f291d8eaac5a3dfd7ba35be0a91c9fc (patch)
tree025191f7a378ba3868a836cc020791e3fc680475 /arch/arm
parentfe69c82d0862f54b1a5aa5ece046468b4e76b40c (diff)
davinci: am17x/da830/omap-l137 evm: setup NAND flash timing
Setup the NAND flash timings for DA830 EVM. Before configuring the timing values, throughput calculation using dd command yielded 477 kB/s write and 970 kB/s read speed. After the timing configuration, the throughput was measured to be 2.5 MB/s write and 5.1 MB/s read. [Mukul Bhatnagar: actual calculation of timing values from the NAND datasheet] Signed-off-by: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Cc: Mukul Bhatnagar <mbhatnagar@ti.com> Signed-off-by: Sekhar Nori <nsekhar@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
Diffstat (limited to 'arch/arm')
-rw-r--r--arch/arm/mach-davinci/board-da830-evm.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da830-evm.c b/arch/arm/mach-davinci/board-da830-evm.c
index 292e8b7c02ac..de82739c00ec 100644
--- a/arch/arm/mach-davinci/board-da830-evm.c
+++ b/arch/arm/mach-davinci/board-da830-evm.c
@@ -29,6 +29,7 @@
29#include <mach/nand.h> 29#include <mach/nand.h>
30#include <mach/da8xx.h> 30#include <mach/da8xx.h>
31#include <mach/usb.h> 31#include <mach/usb.h>
32#include <mach/aemif.h>
32 33
33#define DA830_EVM_PHY_MASK 0x0 34#define DA830_EVM_PHY_MASK 0x0
34#define DA830_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */ 35#define DA830_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */
@@ -360,6 +361,16 @@ static struct nand_bbt_descr da830_evm_nand_bbt_mirror_descr = {
360 .pattern = da830_evm_nand_mirror_pattern 361 .pattern = da830_evm_nand_mirror_pattern
361}; 362};
362 363
364static struct davinci_aemif_timing da830_evm_nandflash_timing = {
365 .wsetup = 24,
366 .wstrobe = 21,
367 .whold = 14,
368 .rsetup = 19,
369 .rstrobe = 50,
370 .rhold = 0,
371 .ta = 20,
372};
373
363static struct davinci_nand_pdata da830_evm_nand_pdata = { 374static struct davinci_nand_pdata da830_evm_nand_pdata = {
364 .parts = da830_evm_nand_partitions, 375 .parts = da830_evm_nand_partitions,
365 .nr_parts = ARRAY_SIZE(da830_evm_nand_partitions), 376 .nr_parts = ARRAY_SIZE(da830_evm_nand_partitions),
@@ -368,6 +379,7 @@ static struct davinci_nand_pdata da830_evm_nand_pdata = {
368 .options = NAND_USE_FLASH_BBT, 379 .options = NAND_USE_FLASH_BBT,
369 .bbt_td = &da830_evm_nand_bbt_main_descr, 380 .bbt_td = &da830_evm_nand_bbt_main_descr,
370 .bbt_md = &da830_evm_nand_bbt_mirror_descr, 381 .bbt_md = &da830_evm_nand_bbt_mirror_descr,
382 .timing = &da830_evm_nandflash_timing,
371}; 383};
372 384
373static struct resource da830_evm_nand_resources[] = { 385static struct resource da830_evm_nand_resources[] = {