From mboxrd@z Thu Jan 1 00:00:00 1970 From: DENX Support System Date: Sat, 1 Apr 2006 00:50:15 +0200 Subject: [DNX#2006040142001132] [U-Boot-Users] IMPORTANT NOTE to all maintainers w [...] Message-ID: <1143845415.393249.529296487@castor.denx.de> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de Hello list, inside the automatic U-Boot patch tracking system a new ticket [DNX#2006040142001132] was created: > On Tue, Feb 28, 2006 at 12:05:32PM +0200, Pantelis Antoniou wrote: > > Hi Wolfgang & Pantelis, > > > A few things are missing but most are doable. > > Here is one of those 'few' things - erasing OOB area... > > Signed-off-by Ladislav Michl > > CHANGELOG > * Implement NAND OOB erase command > Patch by Ladislav Michl, 17 Mar 2006 > > diff --git a/common/cmd_nand.c b/common/cmd_nand.c > index 21adb1b..bf4173f 100644 > --- a/common/cmd_nand.c > +++ b/common/cmd_nand.c > @@ -198,13 +198,15 @@ int do_nand(cmd_tbl_t * cmdtp, int flag, > } > > if (strcmp(cmd, "erase") == 0) { > - arg_off_size(argc - 2, argv + 2, &off, &size, nand->size); > + int clean = (argc > 2 && strcmp(argv[2], "clean") == 0) ? 1 : 0; > + int o = clean ? 3 : 2; > + arg_off_size(argc - o, argv + o, &off, &size, nand->size); > if (off == 0 && size == 0) > - return 1; > + size = nand->size; > > printf("\nNAND erase: device %d offset 0x%x, size 0x%x ", > nand_curr_device, off, size); > - ret = nand_erase(nand, off, size); > + ret = nand_erase(nand, off, size, clean); > printf("%s\n", ret ? "ERROR" : "OK"); > > return ret == 0 ? 0 : 1; > @@ -275,7 +277,6 @@ U_BOOT_CMD(nand, 5, 1, do_nand, > " offset `off' (entire device if not specified)\n" > "nand bad - show bad blocks\n" > "nand dump[.oob] off - dump page\n" > - "nand scrub - really clean NAND erasing bad blocks (UNSAFE)\n" > "nand markbad off - mark bad block at offset (UNSAFE)\n" > "nand biterr off - make a bit error at offset (UNSAFE)\n"); > > diff --git a/common/env_nand.c b/common/env_nand.c > index dd27f7b..97371e9 100644 > --- a/common/env_nand.c > +++ b/common/env_nand.c > @@ -116,7 +116,7 @@ int saveenv(void) > int ret = 0; > > puts ("Erasing Nand..."); > - if (nand_erase(&nand_info[0], CFG_ENV_OFFSET, CFG_ENV_SIZE)) > + if (nand_erase(&nand_info[0], CFG_ENV_OFFSET, CFG_ENV_SIZE, 0)) > return 1; > > puts ("Writing to Nand... "); > diff --git a/include/nand.h b/include/nand.h > index 905115b..ccac9c1 100644 > --- a/include/nand.h > +++ b/include/nand.h > @@ -48,7 +48,7 @@ static inline int nand_block_isbad(nand_ > return info->block_isbad(info, ofs); > } > > -static inline int nand_erase(nand_info_t *info, ulong off, ulong size) > +static inline int nand_erase(nand_info_t *info, ulong off, ulong size, > int clean) > { > struct erase_info instr; > > @@ -57,7 +57,7 @@ static inline int nand_erase(nand_info_t > instr.len = size; > instr.callback = 0; > > - return info->erase(info, &instr); > + return nand_erase_nand(info, &instr, clean); > } > > #endif > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting > language > that extends applications into web and mobile media. Attend the live > webcast > and join the prime developer group breaking into this new coding > territory! > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=110944&bid=241720&dat=121642 > _______________________________________________ > U-Boot-Users mailing list > U-Boot-Users at lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/u-boot-users Your U-Boot support team