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 | f4e57776eeb9617ccff13895e66a0e11227a3fe3 (patch) | |
tree | f6bcd3fb7f562b319c5cb0277cec37356cefc2bb | |
parent | 841d63171024c78947082d025a377db9774fa321 (diff) | |
download | flashrom-f4e57776eeb9617ccff13895e66a0e11227a3fe3.tar.gz flashrom-f4e57776eeb9617ccff13895e66a0e11227a3fe3.tar.bz2 flashrom-f4e57776eeb9617ccff13895e66a0e11227a3fe3.zip |
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 715c0547..a9ce4a26 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 414d2208..6504edf1 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 |