summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-04-09 13:18:51 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2009-04-14 17:10:12 +0200
commitdcb35fbaf12ff652f0d88c02f7f04b514c8bc993 (patch)
tree00d7915048d2481402d74b79a8a47d195daf80eb
parent0bf132f961a260266e7fd1259f2fa698cb9ee1df (diff)
downloadbarebox-dcb35fbaf12ff652f0d88c02f7f04b514c8bc993.tar.gz
barebox-dcb35fbaf12ff652f0d88c02f7f04b514c8bc993.tar.xz
imx nand: Add debug command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/nand/nand_imx.c38
1 files changed, 37 insertions, 1 deletions
diff --git a/drivers/nand/nand_imx.c b/drivers/nand/nand_imx.c
index 4aa02c4b6b..cefa585bac 100644
--- a/drivers/nand/nand_imx.c
+++ b/drivers/nand/nand_imx.c
@@ -1161,10 +1161,46 @@ void __nand_boot_init imx_nand_load_image(void *dest, int size, int pagesize,
if (size <= 0)
return;
}
- }
+ } else
+ debug("skip bad block at 0x%08x\n", block * blocksize);
block++;
}
}
+#define CONFIG_NAND_IMX_BOOT_DEBUG
+#ifdef CONFIG_NAND_IMX_BOOT_DEBUG
+#include <command.h>
+
+static int do_nand_boot_test(cmd_tbl_t *cmdtp, int argc, char *argv[])
+{
+ void *dest;
+ int size, pagesize, blocksize;
+
+ if (argc < 4) {
+ u_boot_cmd_usage(cmdtp);
+ return 1;
+ }
+
+ dest = (void *)strtoul_suffix(argv[1], NULL, 0);
+ size = strtoul_suffix(argv[2], NULL, 0);
+ pagesize = strtoul_suffix(argv[3], NULL, 0);
+ blocksize = strtoul_suffix(argv[4], NULL, 0);
+
+ imx_nand_load_image(dest, size, pagesize, blocksize);
+
+ return 0;
+}
+
+static const __maybe_unused char cmd_nand_boot_test_help[] =
+"Usage: nand_boot_test <dest> <size> <pagesize> <blocksize>\n";
+
+U_BOOT_CMD_START(nand_boot_test)
+ .maxargs = CONFIG_MAXARGS,
+ .cmd = do_nand_boot_test,
+ .usage = "list a file or directory",
+ U_BOOT_CMD_HELP(cmd_nand_boot_test_help)
+U_BOOT_CMD_END
+#endif
+
#endif /* CONFIG_NAND_IMX_BOOT */
/*