summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThomas Lange <thomas@corelatus.se>2009-06-20 11:02:17 +0200
committerJean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com>2009-07-06 21:52:23 +0200
commitd583ef5147066d3609de21f3beebbab99a19bad4 (patch)
treeae40d93223a46b9ce2526ade7751a56b5636ee13
parent2600b8571a26c10c1c43401d7af38e2333cc5381 (diff)
downloadu-boot-imx-d583ef5147066d3609de21f3beebbab99a19bad4.zip
u-boot-imx-d583ef5147066d3609de21f3beebbab99a19bad4.tar.gz
u-boot-imx-d583ef5147066d3609de21f3beebbab99a19bad4.tar.bz2
ARM DaVinci: EMIF settings
NAND module should not modify EMIF registers unrelated to CS2 that is used for NAND, i.e. do not modify EWAIT config register or registers for other Chip Selects. Without this patch, EMIF configurations made in board_init() will be invalidated. Signed-off-by: Thomas Lange <thomas@corelatus.se>
-rw-r--r--drivers/mtd/nand/davinci_nand.c12
1 files changed, 3 insertions, 9 deletions
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index a974667..8ef18b8 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -386,9 +386,6 @@ static int nand_davinci_waitfunc(struct mtd_info *mtd, struct nand_chip *this)
static void nand_flash_init(void)
{
u_int32_t acfg1 = 0x3ffffffc;
- u_int32_t acfg2 = 0x3ffffffc;
- u_int32_t acfg3 = 0x3ffffffc;
- u_int32_t acfg4 = 0x3ffffffc;
emifregs emif_regs;
/*------------------------------------------------------------------*
@@ -413,12 +410,9 @@ static void nand_flash_init(void)
emif_regs = (emifregs)DAVINCI_ASYNC_EMIF_CNTRL_BASE;
- emif_regs->AWCCR |= 0x10000000;
- emif_regs->AB1CR = acfg1; /* 0x08244128 */;
- emif_regs->AB2CR = acfg2;
- emif_regs->AB3CR = acfg3;
- emif_regs->AB4CR = acfg4;
- emif_regs->NANDFCR = 0x00000101;
+ emif_regs->AB1CR = acfg1; /* CS2 */
+
+ emif_regs->NANDFCR = 0x00000101; /* NAND flash on CS2 */
}
int board_nand_init(struct nand_chip *nand)