X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=include%2Fnand.h;h=8d94b5cbd7536e4a5492b7cb28d9c6ef34a11534;hb=79788bb19ac0c68cef77bd92d3365bdf2989339d;hp=8bdf4191a6db159222e83e38ad433fc07f428122;hpb=9efac4a1eb99d9c5539aa6992025eeacab7980c6;p=u-boot diff --git a/include/nand.h b/include/nand.h index 8bdf4191a6..8d94b5cbd7 100644 --- a/include/nand.h +++ b/include/nand.h @@ -98,21 +98,30 @@ struct nand_read_options { typedef struct nand_read_options nand_read_options_t; struct nand_erase_options { - ulong length; /* number of bytes to erase */ - ulong offset; /* first address in NAND to erase */ + loff_t length; /* number of bytes to erase */ + loff_t offset; /* first address in NAND to erase */ int quiet; /* don't display progress messages */ int jffs2; /* if true: format for jffs2 usage * (write appropriate cleanmarker blocks) */ int scrub; /* if true, really clean NAND by erasing * bad blocks (UNSAFE) */ + + /* Don't include skipped bad blocks in size to be erased */ + int spread; }; typedef struct nand_erase_options nand_erase_options_t; int nand_read_skip_bad(nand_info_t *nand, loff_t offset, size_t *length, u_char *buffer); + +#define WITH_YAFFS_OOB (1 << 0) /* whether write with yaffs format. This flag + * is a 'mode' meaning it cannot be mixed with + * other flags */ +#define WITH_DROP_FFS (1 << 1) /* drop trailing all-0xff pages */ + int nand_write_skip_bad(nand_info_t *nand, loff_t offset, size_t *length, - u_char *buffer); + u_char *buffer, int flags); int nand_erase_opts(nand_info_t *meminfo, const nand_erase_options_t *opts); #define NAND_LOCK_STATUS_TIGHT 0x01