diff options
author | Rudy Host <segfault@committeeofdoom.com> | 2010-11-29 00:37:49 +0000 |
---|---|---|
committer | Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> | 2010-11-29 00:37:49 +0000 |
commit | 516ce774c2bf13dc3fc5fce5ea4d7be1008b8afa (patch) | |
tree | f6bcd3fb7f562b319c5cb0277cec37356cefc2bb | |
parent | fdc2641b32e33f9624b4792924b23314b446d599 (diff) | |
download | flashrom-516ce774c2bf13dc3fc5fce5ea4d7be1008b8afa.zip flashrom-516ce774c2bf13dc3fc5fce5ea4d7be1008b8afa.tar.gz |
Add support for Spansion S25FL004A, S25FL032A, and S25FL064A
Tested S25FL064A using a Bus Pirate.
Corresponding to flashrom svn r1237.
Signed-off-by: Rudy Host <segfault@committeeofdoom.com>
Acked-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
-rw-r--r-- | flashchips.c | 78 | ||||
-rw-r--r-- | flashchips.h | 3 |
2 files changed, 81 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c index 715c054..a9ce4a2 100644 --- a/flashchips.c +++ b/flashchips.c @@ -4767,6 +4767,32 @@ struct flashchip flashchips[] = { { .vendor = "Spansion", + .name = "S25FL004A", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = SPANSION_ID, + .model_id = SPANSION_S25FL004A, + .total_size = 512, + .page_size = 256, + .tested = TEST_UNTESTED, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { + .vendor = "Spansion", .name = "S25FL008A", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = SPANSION_ID, @@ -4818,6 +4844,58 @@ struct flashchip flashchips[] = { }, { + .vendor = "Spansion", + .name = "S25FL032A", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = SPANSION_ID, + .model_id = SPANSION_S25FL032A, + .total_size = 4096, + .page_size = 256, + .tested = TEST_UNTESTED, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 64} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {4 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { + .vendor = "Spansion", + .name = "S25FL064A", + .bustype = CHIP_BUSTYPE_SPI, + .manufacture_id = SPANSION_ID, + .model_id = SPANSION_S25FL064A, + .total_size = 8192, + .page_size = 256, + .tested = TEST_OK_PREW, + .probe = probe_spi_rdid, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 128} }, + .block_erase = spi_block_erase_d8, + }, { + .eraseblocks = { {8 * 1024 * 1024, 1} }, + .block_erase = spi_block_erase_c7, + } + }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { .vendor = "SST", .name = "SST25VF016B", .bustype = CHIP_BUSTYPE_SPI, diff --git a/flashchips.h b/flashchips.h index 414d220..6504edf 100644 --- a/flashchips.h +++ b/flashchips.h @@ -445,8 +445,11 @@ * the second device ID byte is memory capacity. */ #define SPANSION_ID 0x01 /* Spansion, same ID as AMD */ +#define SPANSION_S25FL004A 0x0212 #define SPANSION_S25FL008A 0x0213 #define SPANSION_S25FL016A 0x0214 +#define SPANSION_S25FL032A 0x0215 +#define SPANSION_S25FL064A 0x0216 /* * SST25 chips are SPI, first byte of device ID is memory type, second |