[PATCH] mtd-utils: add support for 4k pages.

Sebastian Siewior bigeasy at linutronix.de
Wed Aug 20 06:32:14 EDT 2008


From: Thomas Gleixner <tglx at linutronix.de>

Add support for 4K pages in nanddump & nandwrite.

Signed-off-by: Thomas Gleixner <tglx at linutronix.de>
Signed-off-by: Sebastian Siewior <bigeasy at linutronix.de>
---
Original patch was done by tglx, I just made sure it still applies and
works on latest git.

 nanddump.c  |    7 ++++---
 nandwrite.c |    7 ++++---
 2 files changed, 8 insertions(+), 6 deletions(-)

diff --git a/nanddump.c b/nanddump.c
index 9e10de4..be40287 100644
--- a/nanddump.c
+++ b/nanddump.c
@@ -159,8 +159,8 @@ void process_options (int argc, char *argv[])
 /*
  * Buffers for reading data from flash
  */
-unsigned char readbuf[2048];
-unsigned char oobbuf[64];
+unsigned char readbuf[4096];
+unsigned char oobbuf[128];
 
 /*
  * Main program
@@ -194,7 +194,8 @@ int main(int argc, char **argv)
 	}
 
 	/* Make sure device page sizes are valid */
-	if (!(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
+	if (!(meminfo.oobsize == 128 && meminfo.writesize == 4096) &&
+			!(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
 			!(meminfo.oobsize == 32 && meminfo.writesize == 1024) &&
 			!(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
 			!(meminfo.oobsize == 8 && meminfo.writesize == 256)) {
diff --git a/nandwrite.c b/nandwrite.c
index a5462ae..e745fba 100644
--- a/nandwrite.c
+++ b/nandwrite.c
@@ -39,8 +39,8 @@
 #define PROGRAM "nandwrite"
 #define VERSION "$Revision: 1.32 $"
 
-#define MAX_PAGE_SIZE	2048
-#define MAX_OOB_SIZE	64
+#define MAX_PAGE_SIZE	4096
+#define MAX_OOB_SIZE	128
 
 /*
  * Buffer array used for writing data
@@ -248,7 +248,8 @@ int main(int argc, char **argv)
 	/* Make sure device page sizes are valid */
 	if (!(meminfo.oobsize == 16 && meminfo.writesize == 512) &&
 			!(meminfo.oobsize == 8 && meminfo.writesize == 256) &&
-			!(meminfo.oobsize == 64 && meminfo.writesize == 2048)) {
+			!(meminfo.oobsize == 64 && meminfo.writesize == 2048) &&
+			!(meminfo.oobsize == 128 && meminfo.writesize == 4096)) {
 		fprintf(stderr, "Unknown flash (not normal NAND)\n");
 		close(fd);
 		exit(1);
-- 
1.5.5.2




More information about the linux-mtd mailing list