SST25LF040A support patch from Stefan Reinauer. Stefan tested probing. I changed the coding style a bit to conform to flashrom rules. I checked against datasheets, should work.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-stefan_sst25lf040a/flashchips.c =================================================================== --- flashrom-stefan_sst25lf040a/flashchips.c (Revision 1026) +++ flashrom-stefan_sst25lf040a/flashchips.c (Arbeitskopie) @@ -3817,6 +3817,34 @@
{ .vendor = "SST", + .name = "SST25LF040A.RES", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = SST_ID, + .model_id = SST_25VF040_REMS, + .total_size = 512, + .page_size = 256, + .tested = TEST_OK_PROBE, + .probe = probe_spi_res2, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 128} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {32 * 1024, 16} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, + }, + .write = spi_chip_write_1, + .read = spi_chip_read, + }, + + { + .vendor = "SST", .name = "SST25VF040B.REMS", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = SST_ID, Index: flashrom-stefan_sst25lf040a/flashchips.h =================================================================== --- flashrom-stefan_sst25lf040a/flashchips.h (Revision 1026) +++ flashrom-stefan_sst25lf040a/flashchips.h (Arbeitskopie) @@ -387,7 +387,7 @@ #define SST_25VF512A_REMS 0x48 /* REMS or RES opcode */ #define SST_25VF010_REMS 0x49 /* REMS or RES opcode */ #define SST_25VF020_REMS 0x43 /* REMS or RES opcode */ -#define SST_25VF040_REMS 0x44 /* REMS or RES opcode */ +#define SST_25VF040_REMS 0x44 /* REMS or RES opcode, same as SST25LF040A */ #define SST_25VF040B 0x258D #define SST_25VF040B_REMS 0x8D /* REMS or RES opcode */ #define SST_25VF080_REMS 0x80 /* REMS or RES opcode */