diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-04-09 13:18:51 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2009-04-14 17:10:12 +0200 |
commit | dcb35fbaf12ff652f0d88c02f7f04b514c8bc993 (patch) | |
tree | 00d7915048d2481402d74b79a8a47d195daf80eb /drivers/nand/nand_imx.c | |
parent | 0bf132f961a260266e7fd1259f2fa698cb9ee1df (diff) | |
download | barebox-dcb35fbaf12ff652f0d88c02f7f04b514c8bc993.tar.gz barebox-dcb35fbaf12ff652f0d88c02f7f04b514c8bc993.tar.xz |
imx nand: Add debug command
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/nand/nand_imx.c')
-rw-r--r-- | drivers/nand/nand_imx.c | 38 |
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 */ /* |