summaryrefslogtreecommitdiffstats
path: root/flashchips.c
diff options
context:
space:
mode:
authorZeus Castro <thezeusjuice@gmail.com>2011-08-17 09:50:11 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2011-08-17 09:50:11 +0000
commit85bfc4df6114555ea3ccf710d679636fed6f1af0 (patch)
treec99a726249026d4f1ddbe1b9c1b8d80daf333026 /flashchips.c
parent7eb80430d8f582d162ff88e6bddfa7ee58826c56 (diff)
downloadflashrom-85bfc4df6114555ea3ccf710d679636fed6f1af0.zip
flashrom-85bfc4df6114555ea3ccf710d679636fed6f1af0.tar.gz
Add support for the SST25LF080A flash chip
Based on the definition of SST25LF040A and the public datasheet available here: http://www.sst.com/dotAsset/40316.pdf Also, move the SST25LF040A up to keep the list ordered alphabetically (while removing the ".RES" suffix). Corresponding to flashrom svn r1415. Signed-off-by: Zeus Castro <thezeusjuice@gmail.com> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
Diffstat (limited to 'flashchips.c')
-rw-r--r--flashchips.c90
1 files changed, 60 insertions, 30 deletions
diff --git a/flashchips.c b/flashchips.c
index 1a5622f..4d741a0 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -5547,6 +5547,66 @@ const struct flashchip flashchips[] = {
{
.vendor = "SST",
+ .name = "SST25LF040A",
+ .bustype = BUS_SPI,
+ .manufacture_id = SST_ID,
+ .model_id = SST_SST25VF040_REMS,
+ .total_size = 512,
+ .page_size = 256,
+ .tested = TEST_OK_PROBE,
+ .probe = probe_spi_res2,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 128} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 16} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ },
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_1, /* AAI supported, but opcode is 0xAF */
+ .read = spi_chip_read,
+ .voltage = {3000, 3600},
+ },
+
+ {
+ .vendor = "SST",
+ .name = "SST25LF080A",
+ .bustype = BUS_SPI,
+ .manufacture_id = SST_ID,
+ .model_id = SST_SST25VF080_REMS,
+ .total_size = 1024,
+ .page_size = 256,
+ .tested = TEST_UNTESTED,
+ .probe = probe_spi_res2,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {4 * 1024, 256} },
+ .block_erase = spi_block_erase_20,
+ }, {
+ .eraseblocks = { {32 * 1024, 32} },
+ .block_erase = spi_block_erase_52,
+ }, {
+ .eraseblocks = { {1024 * 1024, 1} },
+ .block_erase = spi_block_erase_60,
+ },
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_1, /* AAI supported, but opcode is 0xAF */
+ .read = spi_chip_read,
+ .voltage = {3000, 3600},
+ },
+
+ {
+ .vendor = "SST",
.name = "SST25VF010.REMS",
.bustype = BUS_SPI,
.manufacture_id = SST_ID,
@@ -5751,36 +5811,6 @@ const struct flashchip flashchips[] = {
{
.vendor = "SST",
- .name = "SST25LF040A.RES",
- .bustype = BUS_SPI,
- .manufacture_id = SST_ID,
- .model_id = SST_SST25VF040_REMS,
- .total_size = 512,
- .page_size = 256,
- .tested = TEST_OK_PROBE,
- .probe = probe_spi_res2,
- .probe_timing = TIMING_ZERO,
- .block_erasers =
- {
- {
- .eraseblocks = { {4 * 1024, 128} },
- .block_erase = spi_block_erase_20,
- }, {
- .eraseblocks = { {32 * 1024, 16} },
- .block_erase = spi_block_erase_52,
- }, {
- .eraseblocks = { {512 * 1024, 1} },
- .block_erase = spi_block_erase_60,
- },
- },
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_1, /* AAI supported, but opcode is 0xAF */
- .read = spi_chip_read,
- .voltage = {3000, 3600},
- },
-
- {
- .vendor = "SST",
.name = "SST25VF040B.REMS",
.bustype = BUS_SPI,
.manufacture_id = SST_ID,
OpenPOWER on IntegriCloud