From f3607d191aefa5bf4ffb301652be2f4e242eb88c Mon Sep 17 00:00:00 2001 From: Idwer Vollering Date: Wed, 7 May 2014 15:25:04 +0000 Subject: Add support for SST25LF020A Tested on hardware by Idwer too. Corresponding to flashrom svn r1787. Signed-off-by: Idwer Vollering Acked-by: Stefan Tauner --- flashchips.c | 32 ++++++++++++++++++++++++++++++++ flashchips.h | 3 ++- 2 files changed, 34 insertions(+), 1 deletion(-) diff --git a/flashchips.c b/flashchips.c index ede5dc2c..80593740 100644 --- a/flashchips.c +++ b/flashchips.c @@ -9612,6 +9612,38 @@ const struct flashchip flashchips[] = { .voltage = {2700, 3600}, }, + { + .vendor = "SST", + .name = "SST25LF020A", + .bustype = BUS_SPI, + .manufacture_id = SST_ID, + .model_id = SST_SST25VF020_REMS, + .total_size = 256, + .page_size = 256, + .feature_bits = FEATURE_WRSR_EWSR, + .tested = TEST_OK_PREW, + .probe = probe_spi_rems, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {4 * 1024, 64} }, + .block_erase = spi_block_erase_20, + }, { + .eraseblocks = { {32 * 1024, 8} }, + .block_erase = spi_block_erase_52, + }, { + .eraseblocks = { {256 * 1024, 1} }, + .block_erase = spi_block_erase_60, + }, + }, + .printlock = spi_prettyprint_status_register_sst25, /* FIXME: No BP2 & 3 */ + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_1, /* AAI supported, but opcode is 0xAF */ + .read = spi_chip_read, /* Fast read (0x0B) supported */ + .voltage = {2700, 3600}, + }, + { .vendor = "SST", .name = "SST25LF040A", diff --git a/flashchips.h b/flashchips.h index a0823b9c..f2d4c577 100644 --- a/flashchips.h +++ b/flashchips.h @@ -574,6 +574,7 @@ * byte of device ID is related to log(bitsize) at least for some chips. */ #define SST_ID 0xBF /* SST */ +#define SST_SST25LF020_REMS 0x43 /* REMS or RES opcode */ #define SST_SST25WF512 0x2501 #define SST_SST25WF010 0x2502 #define SST_SST25WF020 0x2503 @@ -581,7 +582,7 @@ #define SST_SST25WF080 0x2505 #define SST_SST25VF512A_REMS 0x48 /* REMS or RES opcode */ #define SST_SST25VF010_REMS 0x49 /* REMS or RES opcode */ -#define SST_SST25VF020_REMS 0x43 /* REMS or RES opcode */ +#define SST_SST25VF020_REMS 0x43 /* REMS or RES opcode, same as SST25LF020A */ #define SST_SST25VF020B 0x258C #define SST_SST25VF040_REMS 0x44 /* REMS or RES opcode, same as SST25LF040A */ #define SST_SST25VF040B 0x258D -- cgit v1.2.3