davinci: dm644x evm: setup NAND flash timing
authorSekhar Nori <nsekhar@ti.com>
Mon, 9 Aug 2010 10:16:37 +0000 (15:46 +0530)
committerKevin Hilman <khilman@deeprootsystems.com>
Fri, 24 Sep 2010 14:40:27 +0000 (07:40 -0700)
The DM644x EVM nand flash timing was earlier being
done as a special case in the NAND driver itself.

With the NAND driver now capable of progamming the
AEMIF interface using timing data passed from the
platform, the timing values are being moved into
their rightful place in the EVM specific board file.

The values being programmed match what was being done
earlier and thus do not represent any change in
performance/functionality.

Signed-off-by: Sekhar Nori <nsekhar@ti.com>
Acked-by: Kevin Hilman <khilman@deeprootsystems.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
arch/arm/mach-davinci/board-dm644x-evm.c

index 34c8b418cd726fc9baaf0b44c3b608c52349ee40..65bb94064feb51a845df02a978c9992e3d85c03a 100644 (file)
@@ -37,6 +37,7 @@
 #include <mach/nand.h>
 #include <mach/mmc.h>
 #include <mach/usb.h>
+#include <mach/aemif.h>
 
 #define DM644X_EVM_PHY_MASK            (0x2)
 #define DM644X_EVM_MDIO_FREQUENCY      (2200000) /* PHY bus frequency */
@@ -137,11 +138,22 @@ static struct mtd_partition davinci_evm_nandflash_partition[] = {
         */
 };
 
+static struct davinci_aemif_timing davinci_evm_nandflash_timing = {
+       .wsetup         = 20,
+       .wstrobe        = 40,
+       .whold          = 20,
+       .rsetup         = 10,
+       .rstrobe        = 40,
+       .rhold          = 10,
+       .ta             = 40,
+};
+
 static struct davinci_nand_pdata davinci_evm_nandflash_data = {
        .parts          = davinci_evm_nandflash_partition,
        .nr_parts       = ARRAY_SIZE(davinci_evm_nandflash_partition),
        .ecc_mode       = NAND_ECC_HW,
        .options        = NAND_USE_FLASH_BBT,
+       .timing         = &davinci_evm_nandflash_timing,
 };
 
 static struct resource davinci_evm_nandflash_resource[] = {