mtd/drivers/mtd/nand nand_base.c,1.95,1.96

gleixner at infradead.org gleixner at infradead.org
Fri Jun 4 03:55:47 EDT 2004


Update of /home/cvs/mtd/drivers/mtd/nand
In directory phoenix.infradead.org:/tmp/cvs-serv29580

Modified Files:
	nand_base.c 
Log Message:
Make sure that tWB is not ignored. Set NO_AUTOINCR as default. Signed-off-by: Thomas Gleixner <tglx at linutronix.de>

Index: nand_base.c
===================================================================
RCS file: /home/cvs/mtd/drivers/mtd/nand/nand_base.c,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- nand_base.c	4 Jun 2004 07:12:05 -0000	1.95
+++ nand_base.c	4 Jun 2004 07:55:44 -0000	1.96
@@ -576,6 +576,9 @@
 		}	
 	}
 	
+	/* Apply this short delay always to ensure that we do wait tWB in
+	 * any case on any machine. */
+	ndelay (100);
 	/* wait until command is processed */
 	while (!this->dev_ready(mtd));
 }
@@ -678,6 +681,9 @@
 		}	
 	}
 	
+	/* Apply this short delay always to ensure that we do wait tWB in
+	 * any case on any machine. */
+	ndelay (100);
 	/* wait until command is processed */
 	while (!this->dev_ready(mtd));
 }
@@ -737,6 +743,10 @@
 	else
 		 timeo += (HZ * 20) / 1000;
 
+	/* Apply this short delay always to ensure that we do wait tWB in
+	 * any case on any machine. */
+	ndelay (100);
+
 	spin_lock_bh (&this->chip_lock);
 	if ((state == FL_ERASING) && (this->options & NAND_IS_AND))
 		this->cmdfunc (mtd, NAND_CMD_STATUS_MULTI, -1, -1);
@@ -956,6 +966,8 @@
 	 * Terminate the read command. This is faster than sending a reset command or 
 	 * applying a 20us delay before issuing the next programm sequence.
 	 * This is not a problem for all chips, but I have found a bunch of them.
+	 * FIXME, CHECKME: Does this work on systems, where CE is not driven
+	 * by an GPIO pin ?
 	 */
 out:	 
 	this->select_chip(mtd, -1);
@@ -2248,6 +2260,8 @@
 		/* Get chip options, preserve non chip based options */
 		this->options &= ~NAND_CHIPOPTIONS_MSK;
 		this->options |= nand_flash_ids[i].options & NAND_CHIPOPTIONS_MSK;
+		/* Set this as a default. Board drivers can override it, if neccecary */
+		this->options |= NAND_NO_AUTOINCR;
 		/* Check if this is a not a samsung device. Do not clear the options
 		 * for chips which are not having an extended id.
 		 */	





More information about the linux-mtd-cvs mailing list