|
@@ -42,6 +42,7 @@
|
|
#include <mach/nand.h>
|
|
#include <mach/nand.h>
|
|
#include <mach/clock.h>
|
|
#include <mach/clock.h>
|
|
#include <mach/cdce949.h>
|
|
#include <mach/cdce949.h>
|
|
|
|
+#include <mach/aemif.h>
|
|
|
|
|
|
#include "clock.h"
|
|
#include "clock.h"
|
|
|
|
|
|
@@ -71,6 +72,16 @@ static struct mtd_partition davinci_nand_partitions[] = {
|
|
}
|
|
}
|
|
};
|
|
};
|
|
|
|
|
|
|
|
+static struct davinci_aemif_timing dm6467tevm_nandflash_timing = {
|
|
|
|
+ .wsetup = 29,
|
|
|
|
+ .wstrobe = 24,
|
|
|
|
+ .whold = 14,
|
|
|
|
+ .rsetup = 19,
|
|
|
|
+ .rstrobe = 33,
|
|
|
|
+ .rhold = 0,
|
|
|
|
+ .ta = 29,
|
|
|
|
+};
|
|
|
|
+
|
|
static struct davinci_nand_pdata davinci_nand_data = {
|
|
static struct davinci_nand_pdata davinci_nand_data = {
|
|
.mask_cle = 0x80000,
|
|
.mask_cle = 0x80000,
|
|
.mask_ale = 0x40000,
|
|
.mask_ale = 0x40000,
|
|
@@ -763,6 +774,9 @@ static __init void evm_init(void)
|
|
dm646x_init_mcasp0(&dm646x_evm_snd_data[0]);
|
|
dm646x_init_mcasp0(&dm646x_evm_snd_data[0]);
|
|
dm646x_init_mcasp1(&dm646x_evm_snd_data[1]);
|
|
dm646x_init_mcasp1(&dm646x_evm_snd_data[1]);
|
|
|
|
|
|
|
|
+ if (machine_is_davinci_dm6467tevm())
|
|
|
|
+ davinci_nand_data.timing = &dm6467tevm_nandflash_timing;
|
|
|
|
+
|
|
platform_device_register(&davinci_nand_device);
|
|
platform_device_register(&davinci_nand_device);
|
|
|
|
|
|
dm646x_init_edma(dm646x_edma_rsv);
|
|
dm646x_init_edma(dm646x_edma_rsv);
|