summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@ti.com>2014-10-10 09:45:16 -0400
committerTom Rini <trini@ti.com>2014-10-10 09:45:16 -0400
commitdb67801bf92f7fae6131dbc0d387131698fb9490 (patch)
treedab87f039f619d3a117002073d95c3b6d2845ad2
parent787011834ee59f5abf10fdef5a1fc14f89e8e9c0 (diff)
parented3c980bee74dc1bd599dd44b41b2c32ee78c0a8 (diff)
downloadu-boot-imx-db67801bf92f7fae6131dbc0d387131698fb9490.zip
u-boot-imx-db67801bf92f7fae6131dbc0d387131698fb9490.tar.gz
u-boot-imx-db67801bf92f7fae6131dbc0d387131698fb9490.tar.bz2
Merge branch 'master' of git://git.denx.de/u-boot-nand-flash
-rw-r--r--drivers/mtd/nand/denali.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index ba3de1a..308b784 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1059,9 +1059,8 @@ static void denali_cmdfunc(struct mtd_info *mtd, unsigned int cmd, int col,
addr = MODE_11 | BANK(denali->flash_bank);
index_addr(denali, addr | 0, cmd);
break;
- case NAND_CMD_PARAM:
- clear_interrupts(denali);
case NAND_CMD_READID:
+ case NAND_CMD_PARAM:
reset_buf(denali);
/* sometimes ManufactureId read from register is not right
* e.g. some of Micron MT29F32G08QAA MLC NAND chips
@@ -1070,6 +1069,15 @@ static void denali_cmdfunc(struct mtd_info *mtd, unsigned int cmd, int col,
addr = MODE_11 | BANK(denali->flash_bank);
index_addr(denali, addr | 0, cmd);
index_addr(denali, addr | 1, col & 0xFF);
+ if (cmd == NAND_CMD_PARAM)
+ udelay(50);
+ break;
+ case NAND_CMD_RNDOUT:
+ addr = MODE_11 | BANK(denali->flash_bank);
+ index_addr(denali, addr | 0, cmd);
+ index_addr(denali, addr | 1, col & 0xFF);
+ index_addr(denali, addr | 1, col >> 8);
+ index_addr(denali, addr | 0, NAND_CMD_RNDOUTSTART);
break;
case NAND_CMD_READ0:
case NAND_CMD_SEQIN: