1
0
mirror of https://review.coreboot.org/flashrom.git synced 2025-04-27 07:02:34 +02:00

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>
This commit is contained in:
Rudy Host 2010-11-29 00:37:49 +00:00 committed by Carl-Daniel Hailfinger
parent 841d631710
commit f4e57776ee
2 changed files with 81 additions and 0 deletions

View File

@ -4765,6 +4765,32 @@ struct flashchip flashchips[] = {
.read = read_memmapped,
},
{
.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",
@ -4817,6 +4843,58 @@ struct flashchip flashchips[] = {
.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,
},
{
.vendor = "SST",
.name = "SST25VF016B",

View File

@ -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