[U-Boot-Users] [PATCH 1/3] 83xx: nand support for MPC837XRDB boards

Anton Vorontsov avorontsov at ru.mvista.com
Fri Mar 7 17:42:00 CET 2008


On Fri, Mar 07, 2008 at 10:26:09AM -0600, Scott Wood wrote:
> On Fri, Mar 07, 2008 at 06:04:54PM +0300, Anton Vorontsov wrote:
> > +#define CFG_OR1_PRELIM		(0xFFFF8000 |		/* length 32K */ \
> > +				 OR_FCM_CSCT | \
> > +				 OR_FCM_CST | \
> > +				 OR_FCM_CHT | \
> > +				 OR_FCM_SCY_1 | \
> > +				 OR_FCM_TRLX | \
> > +				 OR_FCM_EHTR)
> 
> Are you sure that SCY_1 is correct?  The 8313erdb config sets it, and
> it's too low -- I get errors if I don't increase it.  I don't know what
> the minimal correct value should be, though.

I'm getting errors even with SCY_7. ;-) More specifically, I'm getting
errors when writing to nand (nandwrite), reading and erasing works ok.
Writing somehow confuses elbc, and it stops sending irqs. I've tried to
increase timings, but there is no effect of doing this.

The patch below helps though, and nandwrite works ok with it, so
I strongly believe this is software issue. Ideas?

diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index b025dfe..f1e97fb 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -691,6 +691,8 @@ static void fsl_elbc_write_buf(struct mtd_info *mtd, const u8 *buf, int len)
 
 	memcpy_toio(&ctrl->addr[ctrl->index], buf, len);
 	ctrl->index += len;
+
+	ndelay(100);
 }
 
 /*




More information about the U-Boot mailing list