summaryrefslogtreecommitdiff
path: root/nand_spl
diff options
context:
space:
mode:
authorStefan Roese <sr@denx.de>2011-05-04 11:44:14 +0200
committerScott Wood <scottwood@freescale.com>2011-05-13 11:13:21 -0500
commita9c847cb38991a557c767fd02a71bd5fbdd25a95 (patch)
treecb26077201a5a9e1f297298db90f42f5289864cb /nand_spl
parenta89a990159d450765b8a5675e640525bc6258d1b (diff)
downloadu-boot-imx-a9c847cb38991a557c767fd02a71bd5fbdd25a95.zip
u-boot-imx-a9c847cb38991a557c767fd02a71bd5fbdd25a95.tar.gz
u-boot-imx-a9c847cb38991a557c767fd02a71bd5fbdd25a95.tar.bz2
nand_spl: nand_boot.c: Remove CONFIG_SYS_NAND_READ_DELAY
There are multiple reasons why this define should be removed: First it saves some space and therefore fixes a problem we have on the canyonlands_nand and glacier_nand targets right now. Second, the define was hackish and would most likely not work on all board using nand_boot.c. Boards not providing a real dev_ready() function should implement a board specific function instead. I checked and it seems, that all boards using nand_boot.c right now already implement a board specific dev_ready() function. So this patch should not break any boards and will result in smaller NAND_SPL images. Signed-off-by: Stefan Roese <sr@denx.de> Cc: Scott Wood <scottwood@freescale.com> Cc: Stefano Babic <sbabic@denx.de> Cc: Sughosh Ganu <urwithsughosh@gmail.com> Cc: Sudhakar Rajashekhara <sudhakar.raj@ti.com> Tested-by: Sughosh Ganu <urwithsughosh@gmail.com> Signed-off-by: Scott Wood <scottwood@freescale.com>
Diffstat (limited to 'nand_spl')
-rw-r--r--nand_spl/nand_boot.c24
1 files changed, 6 insertions, 18 deletions
diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c
index 06c6f6d..00df2a0 100644
--- a/nand_spl/nand_boot.c
+++ b/nand_spl/nand_boot.c
@@ -22,9 +22,6 @@
#include <nand.h>
#include <asm/io.h>
-#define CONFIG_SYS_NAND_READ_DELAY \
- { volatile int dummy; int i; for (i=0; i<10000; i++) dummy = i; }
-
static int nand_ecc_pos[] = CONFIG_SYS_NAND_ECCPOS;
#if (CONFIG_SYS_NAND_PAGE_SIZE <= 512)
@@ -61,11 +58,8 @@ static int nand_command(struct mtd_info *mtd, int block, int page, int offs, u8
/*
* Wait a while for the data to be ready
*/
- if (this->dev_ready)
- while (!this->dev_ready(mtd))
- ;
- else
- CONFIG_SYS_NAND_READ_DELAY;
+ while (!this->dev_ready(mtd))
+ ;
return 0;
}
@@ -80,11 +74,8 @@ static int nand_command(struct mtd_info *mtd, int block, int page, int offs, u8
void (*hwctrl)(struct mtd_info *mtd, int cmd,
unsigned int ctrl) = this->cmd_ctrl;
- if (this->dev_ready)
- while (!this->dev_ready(mtd))
- ;
- else
- CONFIG_SYS_NAND_READ_DELAY;
+ while (!this->dev_ready(mtd))
+ ;
/* Emulate NAND_CMD_READOOB */
if (cmd == NAND_CMD_READOOB) {
@@ -120,11 +111,8 @@ static int nand_command(struct mtd_info *mtd, int block, int page, int offs, u8
/*
* Wait a while for the data to be ready
*/
- if (this->dev_ready)
- while (!this->dev_ready(mtd))
- ;
- else
- CONFIG_SYS_NAND_READ_DELAY;
+ while (!this->dev_ready(mtd))
+ ;
return 0;
}