aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSekhar Nori <nsekhar@ti.com>2010-08-09 06:16:39 -0400
committerKevin Hilman <khilman@deeprootsystems.com>2010-09-24 10:40:27 -0400
commit18a8505cc130448c8c0a29a46573b46697bf0e42 (patch)
tree87ab67fecc0ffa2ebbf1f9644ba902cff2de0220
parent217f13662f291d8eaac5a3dfd7ba35be0a91c9fc (diff)
davinci: am18x/da850/omap-l138 evm: setup NAND flash timing
Setup the NAND flash timings for DA850 EVM Before configuring the timing values, throughput calculation using dd command yielded 469 kB/s write and 966 kB/s read speed. After the timing configuration, the throughput was measured to be 2.4 MB/s write and 5 MB/s read. [Mukul Bhatnagar: actual calculation of timing values from the NAND datasheet] Signed-off-by: Sekhar Nori <nsekhar@ti.com> Cc: Mukul Bhatnagar <mbhatnagar@ti.com> Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
-rw-r--r--arch/arm/mach-davinci/board-da850-evm.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/arch/arm/mach-davinci/board-da850-evm.c b/arch/arm/mach-davinci/board-da850-evm.c
index 190ebd374656..c1d45d7ac45b 100644
--- a/arch/arm/mach-davinci/board-da850-evm.c
+++ b/arch/arm/mach-davinci/board-da850-evm.c
@@ -36,6 +36,7 @@
36#include <mach/da8xx.h> 36#include <mach/da8xx.h>
37#include <mach/nand.h> 37#include <mach/nand.h>
38#include <mach/mux.h> 38#include <mach/mux.h>
39#include <mach/aemif.h>
39 40
40#define DA850_EVM_PHY_MASK 0x1 41#define DA850_EVM_PHY_MASK 0x1
41#define DA850_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */ 42#define DA850_EVM_MDIO_FREQUENCY 2200000 /* PHY bus frequency */
@@ -143,12 +144,23 @@ static struct mtd_partition da850_evm_nandflash_partition[] = {
143 }, 144 },
144}; 145};
145 146
147static struct davinci_aemif_timing da850_evm_nandflash_timing = {
148 .wsetup = 24,
149 .wstrobe = 21,
150 .whold = 14,
151 .rsetup = 19,
152 .rstrobe = 50,
153 .rhold = 0,
154 .ta = 20,
155};
156
146static struct davinci_nand_pdata da850_evm_nandflash_data = { 157static struct davinci_nand_pdata da850_evm_nandflash_data = {
147 .parts = da850_evm_nandflash_partition, 158 .parts = da850_evm_nandflash_partition,
148 .nr_parts = ARRAY_SIZE(da850_evm_nandflash_partition), 159 .nr_parts = ARRAY_SIZE(da850_evm_nandflash_partition),
149 .ecc_mode = NAND_ECC_HW, 160 .ecc_mode = NAND_ECC_HW,
150 .ecc_bits = 4, 161 .ecc_bits = 4,
151 .options = NAND_USE_FLASH_BBT, 162 .options = NAND_USE_FLASH_BBT,
163 .timing = &da850_evm_nandflash_timing,
152}; 164};
153 165
154static struct resource da850_evm_nandflash_resource[] = { 166static struct resource da850_evm_nandflash_resource[] = {