summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2013-03-04 01:20:28 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2013-03-04 01:20:28 +0000
commitc54adc5852fe9b96127506ca4602aa19eb607fe9 (patch)
tree2460dd695cd9e65d036f3d9c636fc1353106e1a5
parent50d67aaa79441e8043aa1de32bb40ae94fcc51b2 (diff)
downloadast2050-flashrom-c54adc5852fe9b96127506ca4602aa19eb607fe9.zip
ast2050-flashrom-c54adc5852fe9b96127506ca4602aa19eb607fe9.tar.gz
Add M25P20-old
This older (ST-branded) revision of M25P20 chip does not support RDID and hence was not detected correctly. This patch adds a workaround similar to M25P40-old. Corresponding to flashrom svn r1652. Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--flashchips.c35
-rw-r--r--flashchips.h1
2 files changed, 33 insertions, 3 deletions
diff --git a/flashchips.c b/flashchips.c
index d4ab1be..1c28cb5 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -8298,7 +8298,7 @@ const struct flashchip flashchips[] = {
},
{
- .vendor = "ST",
+ .vendor = "ST", /* Numonyx */
.name = "M25P20",
.bustype = BUS_SPI,
.manufacture_id = ST_ID,
@@ -8319,10 +8319,39 @@ const struct flashchip flashchips[] = {
.block_erase = spi_block_erase_c7,
}
},
- .printlock = spi_prettyprint_status_register_default_bp3, /* TODO: check */
+ .printlock = spi_prettyprint_status_register_default_bp1,
.unlock = spi_disable_blockprotect,
.write = spi_chip_write_256,
- .read = spi_chip_read,
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {2700, 3600},
+ },
+
+ {
+ .vendor = "ST",
+ .name = "M25P20-old",
+ .bustype = BUS_SPI,
+ .manufacture_id = 0, /* Not used. */
+ .model_id = ST_M25P20_RES,
+ .total_size = 256,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_WREN,
+ .tested = TEST_OK_PREW,
+ .probe = probe_spi_res1,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 4} },
+ .block_erase = spi_block_erase_d8,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .printlock = spi_prettyprint_status_register_default_bp1,
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
.voltage = {2700, 3600},
},
diff --git a/flashchips.h b/flashchips.h
index 1a0696f..c4c72ba 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -572,6 +572,7 @@
#define ST_M25P10A 0x2011
#define ST_M25P10_RES 0x10 /* Same code as M25P05. */
#define ST_M25P20 0x2012
+#define ST_M25P20_RES 0x11
#define ST_M25P40 0x2013
#define ST_M25P40_RES 0x12
#define ST_M25P80 0x2014
OpenPOWER on IntegriCloud