diff options
author | Sudhakar Rajashekhara <sudhakar.raj@ti.com> | 2010-08-09 06:16:38 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-09-24 10:40:27 -0400 |
commit | 217f13662f291d8eaac5a3dfd7ba35be0a91c9fc (patch) | |
tree | 025191f7a378ba3868a836cc020791e3fc680475 /arch/arm/mach-davinci/board-da830-evm.c | |
parent | fe69c82d0862f54b1a5aa5ece046468b4e76b40c (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/mach-davinci/board-da830-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-da830-evm.c | 12 |
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 | ||
364 | static 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 | |||
363 | static struct davinci_nand_pdata da830_evm_nand_pdata = { | 374 | static 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 | ||
373 | static struct resource da830_evm_nand_resources[] = { | 385 | static struct resource da830_evm_nand_resources[] = { |