diff options
author | Sekhar Nori <nsekhar@ti.com> | 2010-08-09 06:16:39 -0400 |
---|---|---|
committer | Kevin Hilman <khilman@deeprootsystems.com> | 2010-09-24 10:40:27 -0400 |
commit | 18a8505cc130448c8c0a29a46573b46697bf0e42 (patch) | |
tree | 87ab67fecc0ffa2ebbf1f9644ba902cff2de0220 /arch/arm/mach-davinci/board-da850-evm.c | |
parent | 217f13662f291d8eaac5a3dfd7ba35be0a91c9fc (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>
Diffstat (limited to 'arch/arm/mach-davinci/board-da850-evm.c')
-rw-r--r-- | arch/arm/mach-davinci/board-da850-evm.c | 12 |
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 | ||
147 | static 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 | |||
146 | static struct davinci_nand_pdata da850_evm_nandflash_data = { | 157 | static 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 | ||
154 | static struct resource da850_evm_nandflash_resource[] = { | 166 | static struct resource da850_evm_nandflash_resource[] = { |