Commit 598968a6 authored by Nikolay Martynov's avatar Nikolay Martynov Committed by Stefan Tauner
Browse files

Support for Spansion S25FL132K and S25FL164K


Tested with actual S25FL164K via Arduino SPI.

Corresponding to flashrom svn r1786.
Signed-off-by: default avatarNikolay Martynov <mar.kolya@gmail.com>
Acked-by: default avatarStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
parent 43ddef0f
......@@ -9506,6 +9506,76 @@ const struct flashchip flashchips[] = {
.voltage = {2700, 3600},
},
{
.vendor = "Spansion",
.name = "S25FL132K",
.bustype = BUS_SPI,
.manufacture_id = SPANSION_ID,
.model_id = SPANSION_S25FL132K,
.total_size = 4096,
.page_size = 256,
/* OTP: 768B total, 256B reserved; read 0x48; write 0x42, erase 0x44 */
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_UNTESTED,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 1024} },
.block_erase = spi_block_erase_20,
}, {
.eraseblocks = { {64 * 1024, 64} },
.block_erase = spi_block_erase_d8,
}, {
.eraseblocks = { { 4096 * 1024, 1} },
.block_erase = spi_block_erase_60,
}, {
.eraseblocks = { { 4096 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
.printlock = spi_prettyprint_status_register_default_bp2, /* TODO: improve */
.unlock = spi_disable_blockprotect_bp2_srwd, /* #WP pin write-protects SRWP bit. */
.write = spi_chip_write_256,
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
.voltage = {2700, 3600},
},
{
.vendor = "Spansion",
.name = "S25FL164K",
.bustype = BUS_SPI,
.manufacture_id = SPANSION_ID,
.model_id = SPANSION_S25FL164K,
.total_size = 8192,
.page_size = 256,
/* OTP: 1024B total, 256B reserved; read 0x48; write 0x42, erase 0x44 */
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
.tested = TEST_OK_PREW,
.probe = probe_spi_rdid,
.probe_timing = TIMING_ZERO,
.block_erasers = {
{
.eraseblocks = { {4 * 1024, 2048} },
.block_erase = spi_block_erase_20,
}, {
.eraseblocks = { {64 * 1024, 128} },
.block_erase = spi_block_erase_d8,
}, {
.eraseblocks = { { 8192 * 1024, 1} },
.block_erase = spi_block_erase_60,
}, {
.eraseblocks = { { 8192 * 1024, 1} },
.block_erase = spi_block_erase_c7,
}
},
.printlock = spi_prettyprint_status_register_default_bp2, /* TODO: improve */
.unlock = spi_disable_blockprotect_bp2_srwd, /* #WP pin write-protects SRWP bit. */
.write = spi_chip_write_256,
.read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
.voltage = {2700, 3600},
},
{
.vendor = "Spansion",
.name = "S25FL128S......0", /* uniform 256kB sectors */
......
......@@ -566,6 +566,9 @@
#define SPANSION_S25FL204 0x4013
#define SPANSION_S25FL208 0x4014
#define SPANSION_S25FL216 0x4015 /* Same as S25FL216K, but the latter supports OTP, 3 status regs, quad I/O, SFDP etc. */
#define SPANSION_S25FL132K 0x4016
#define SPANSION_S25FL164K 0x4017
/*
* SST25 chips are SPI, first byte of device ID is memory type, second
* byte of device ID is related to log(bitsize) at least for some chips.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment