Convert various SST chips to use block_erasers
Convert the following chips to block_erasers: SST28SF040A SST29EE010
SST29LE010 SST29EE020A SST29LE020 SST39SF010A SST39SF020A SST39SF040
SST39VF512 SST39VF010 SST39VF020 SST39VF040 SST39VF080 SST49LF002A/B
SST49LF003A/B SST49LF004C SST49LF008A SST49LF008C SST49LF016C SST49LF020
SST49LF020A SST49LF040 SST49LF040B SST49LF080A SST49LF160C .
Extend sst28sf040 to include chip and sector functions for block_eraser.
Extend sst49lfxxxc to include chip, sector, block erasers functions for
block_erasers. Extend sst_fwhub to include chip and sector functions for
block_erasers. Add copyrights to changed files. Killed erase_sst_fwhub.
Killed erase_49lfxxxc. NULL A/A mux mode full chip erasers. Ignore block
locks in erase/write. Change comments from "PP mode" to "A/A mux mode"
Corresponding to flashrom svn r877.
Signed-off-by: Sean Nelson <audiohacked@gmail.com>
Acked-by: Michael Karcher <flashrom@mkarcher.dialup.fu-berlin.de>
diff --git a/chipdrivers.h b/chipdrivers.h
index 6e2edc6..c5062ca 100644
--- a/chipdrivers.h
+++ b/chipdrivers.h
@@ -126,7 +126,8 @@
/* sst28sf040.c */
int probe_28sf040(struct flashchip *flash);
-int erase_28sf040(struct flashchip *flash);
+int erase_chip_28sf040(struct flashchip *flash, unsigned int addr, unsigned int blocklen);
+int erase_sector_28sf040(struct flashchip *flash, unsigned int address, unsigned int sector_size);
int write_28sf040(struct flashchip *flash, uint8_t *buf);
/* sst39sf020.c */
@@ -140,12 +141,16 @@
/* sst49lfxxxc.c */
int probe_49lfxxxc(struct flashchip *flash);
int erase_49lfxxxc(struct flashchip *flash);
+int erase_sector_49lfxxxc(struct flashchip *flash, unsigned int address, unsigned int sector_size);
+int erase_block_49lfxxxc(struct flashchip *flash, unsigned int address, unsigned int sector_size);
+int erase_chip_49lfxxxc(struct flashchip *flash, unsigned int addr, unsigned int blocksize);
int write_49lfxxxc(struct flashchip *flash, uint8_t *buf);
/* sst_fwhub.c */
int probe_sst_fwhub(struct flashchip *flash);
int erase_sst_fwhub(struct flashchip *flash);
int erase_sst_fwhub_block(struct flashchip *flash, unsigned int offset, unsigned int page_size);
+int erase_sst_fwhub_sector(struct flashchip *flash, unsigned int offset, unsigned int page_size);
int write_sst_fwhub(struct flashchip *flash, uint8_t *buf);
/* w39v040c.c */