Author: hailfinger Date: Mon Nov 29 01:37:49 2010 New Revision: 1237 URL: http://flashrom.org/trac/flashrom/changeset/1237
Log: Add support for Spansion S25FL004A, S25FL032A, and S25FL064A. Tested S25FL064A using a Bus Pirate.
Signed-off-by: Rudy Host segfault@committeeofdoom.com Acked-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Modified: trunk/flashchips.c trunk/flashchips.h
Modified: trunk/flashchips.c ============================================================================== --- trunk/flashchips.c Thu Nov 25 00:37:22 2010 (r1236) +++ trunk/flashchips.c Mon Nov 29 01:37:49 2010 (r1237) @@ -4767,6 +4767,32 @@
{ .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, @@ -4812,6 +4838,58 @@ .block_erase = spi_block_erase_c7, } }, + .unlock = spi_disable_blockprotect, + .write = spi_chip_write_256, + .read = spi_chip_read, + }, + + { + .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,
Modified: trunk/flashchips.h ============================================================================== --- trunk/flashchips.h Thu Nov 25 00:37:22 2010 (r1236) +++ trunk/flashchips.h Mon Nov 29 01:37:49 2010 (r1237) @@ -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