summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJason Shriver <j.shriver@f5.com>2010-09-14 13:16:01 +0000
committerUwe Hermann <uwe@hermann-uwe.de>2010-09-14 13:16:01 +0000
commitde3f3e2de6f8e6a97e06c5a3bd7e4ab03be26879 (patch)
tree2613f25421c7b646de8f2999763f3b7e862e6c17
parent1a6b0aa54ee4f28a15f7df47e18f040b7a279791 (diff)
downloadflashrom-de3f3e2de6f8e6a97e06c5a3bd7e4ab03be26879.zip
flashrom-de3f3e2de6f8e6a97e06c5a3bd7e4ab03be26879.tar.gz
Add support for ST M25PX32 and M25PX64 flash chips
Probe, read, erase and write have been tested and all are functional. Corresponding to flashrom svn r1165. Signed-off-by: Jason Shriver <j.shriver@f5.com> Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
-rw-r--r--flashchips.c58
-rw-r--r--flashchips.h2
2 files changed, 60 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index a4a999e..c867dd9 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -6114,6 +6114,64 @@ struct flashchip flashchips[] = {
{
.vendor = "ST",
+ .name = "M25PX32",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M25PX32,
+ .total_size = 4096,
+ .page_size = 256,
+ .tested = TEST_OK_PREW,
+ .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 = { {4 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
+ },
+
+ {
+ .vendor = "ST",
+ .name = "M25PX64",
+ .bustype = CHIP_BUSTYPE_SPI,
+ .manufacture_id = ST_ID,
+ .model_id = ST_M25PX64,
+ .total_size = 8192,
+ .page_size = 256,
+ .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 = { {8 * 1024 * 1024, 1} },
+ .block_erase = spi_block_erase_c7,
+ }
+ },
+ .unlock = spi_disable_blockprotect,
+ .write = spi_chip_write_256,
+ .read = spi_chip_read,
+ },
+
+ {
+ .vendor = "ST",
.name = "M29F002B",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = ST_ID,
diff --git a/flashchips.h b/flashchips.h
index d6b381f..eb71aee 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -487,6 +487,8 @@
#define ST_M25P32 0x2016
#define ST_M25P64 0x2017
#define ST_M25P128 0x2018
+#define ST_M25PX32 0x7116
+#define ST_M25PX64 0x7117
#define ST_M25PE10 0x8011
#define ST_M25PE20 0x8012
#define ST_M25PE40 0x8013
OpenPOWER on IntegriCloud