[U-Boot-Users] [PATCH] nand: Make 'nand dump.oob' actually work
Jason McMullan
mcmullan at netapp.com
Tue Jul 1 19:48:22 CEST 2008
Currently, "nand dump.oob" is a no-op.
This commit makes it functional.
Signed-off-by: Jason McMullan <mcmullan at netapp.com>
---
common/cmd_nand.c | 27 +++++++++++++++++++++++++++
1 files changed, 27 insertions(+), 0 deletions(-)
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 37198d2..f85ef09 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -39,6 +39,33 @@ int find_dev_and_part(const char *id, struct mtd_device **dev,
static int nand_dump_oob(nand_info_t *nand, ulong off)
{
+ int i;
+ size_t read_bytes;
+ u_char *buf, *p;
+
+ buf = malloc(nand->oobsize);
+ if (!buf) {
+ puts("No memory for oob buffer\n");
+ return 1;
+ }
+ off &= ~(nand->oobblock - 1);
+ i = nand->read_oob(nand, off, nand->oobsize, &read_bytes, buf);
+ if (i < 0) {
+ printf("Error (%d) reading page %08x\n", i, off);
+ free(buf);
+ return 1;
+ }
+ printf("Page %08x OOB:\n", off);
+ i = nand->oobsize >> 3;
+ p = buf;
+ while (i--) {
+ printf( "\t%02x %02x %02x %02x %02x %02x %02x %02x\n",
+ p[0], p[1], p[2], p[3], p[4], p[5], p[6], p[7]);
+ p += 8;
+ }
+ free(buf);
+
+
return 0;
}
--
1.5.4.3
More information about the U-Boot
mailing list