summaryrefslogtreecommitdiff
path: root/drivers/mtd
diff options
context:
space:
mode:
authorGraf Yang <graf.yang@analog.com>2009-04-04 07:45:57 -0400
committerMike Frysinger <vapier@gentoo.org>2009-04-06 17:37:37 -0400
commita343ba87ea0320ca0a4ecfa2c42cd9d4f18883df (patch)
tree64aa47973a8a435aff3b826a75ba521c299fc39c /drivers/mtd
parentd04371a116d102e587ba7aa4c329b441cdbea3f4 (diff)
downloadu-boot-imx-a343ba87ea0320ca0a4ecfa2c42cd9d4f18883df.zip
u-boot-imx-a343ba87ea0320ca0a4ecfa2c42cd9d4f18883df.tar.gz
u-boot-imx-a343ba87ea0320ca0a4ecfa2c42cd9d4f18883df.tar.bz2
Blackfin: nand: flush peripheral before polling it
We need to make sure the data written to the nand flash controller makes it there before we start polling its status register. Otherwise, we may get stale data and return before the controller is actually ready. Signed-off-by: Graf Yang <graf.yang@analog.com> Signed-off-by: Mike Frysinger <vapier@gentoo.org> Acked-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'drivers/mtd')
-rw-r--r--drivers/mtd/nand/bfin_nand.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/mtd/nand/bfin_nand.c b/drivers/mtd/nand/bfin_nand.c
index f6a0835..f134ef1 100644
--- a/drivers/mtd/nand/bfin_nand.c
+++ b/drivers/mtd/nand/bfin_nand.c
@@ -98,6 +98,7 @@ static void bfin_nfc_read_buf(struct mtd_info *mtd, uint8_t *buf, int len)
/* Contents do not matter */
bfin_write_NFC_DATA_RD(0x0000);
+ SSYNC();
while (!(bfin_read_NFC_IRQSTAT() & RD_RDY))
if (ctrlc())