summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2007-12-17 22:22:40 +0000
committerCarl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>2007-12-17 22:22:40 +0000
commit244dd82fd693aafb0e595941d91b775edebd8fc6 (patch)
tree0e8dcc5ca089a9cd7b35795bae91e5316dc97fdb
parente9690bddd5007cd065ffb646eda473a37a49c4e5 (diff)
Add support for ST M25P05-A, M25P10-A, M25P20, M25P40, M25P16, M25P32,
M25P64, M25P128 to flashrom. ST M25P80 support is already there. Not tested, but conforming to data sheets and double checked. Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net> Acked-by: Uwe Hermann <uwe@hermann-uwe.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3012 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--util/flashrom/flash.h8
-rw-r--r--util/flashrom/flashchips.c16
2 files changed, 24 insertions, 0 deletions
diff --git a/util/flashrom/flash.h b/util/flashrom/flash.h
index e03638727e..ec28064f53 100644
--- a/util/flashrom/flash.h
+++ b/util/flashrom/flash.h
@@ -172,7 +172,15 @@ extern struct flashchip flashchips[];
* byte of device ID is related to log(bitsize) at least for some chips.
*/
#define ST_ID 0x20 /* ST */
+#define ST_M25P05A 0x2010
+#define ST_M25P10A 0x2011
+#define ST_M25P20 0x2012
+#define ST_M25P40 0x2013
#define ST_M25P80 0x2014
+#define ST_M25P16 0x2015
+#define ST_M25P32 0x2016
+#define ST_M25P64 0x2017
+#define ST_M25P128 0x2018
#define ST_M50FLW040A 0x08
#define ST_M50FLW040B 0x28
#define ST_M50FLW080A 0x80
diff --git a/util/flashrom/flashchips.c b/util/flashrom/flashchips.c
index f80ebd090f..44c9171d3f 100644
--- a/util/flashrom/flashchips.c
+++ b/util/flashrom/flashchips.c
@@ -140,8 +140,24 @@ struct flashchip flashchips[] = {
probe_jedec, erase_chip_jedec, write_jedec},
{"M29F040B", ST_ID, ST_M29F040B, 512, 64 * 1024,
probe_29f040b, erase_29f040b, write_29f040b},
+ {"M25P05-A", ST_ID, ST_M25P05A, 64, 32 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P10-A", ST_ID, ST_M25P10A, 128, 32 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P20", ST_ID, ST_M25P20, 256, 64 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P40", ST_ID, ST_M25P40, 512, 64 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
{"M25P80", ST_ID, ST_M25P80, 1024, 64 * 1024,
probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P16", ST_ID, ST_M25P16, 2048, 64 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P32", ST_ID, ST_M25P32, 4096, 64 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P64", ST_ID, ST_M25P64, 8192, 64 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
+ {"M25P128", ST_ID, ST_M25P128, 16384, 256 * 1024,
+ probe_spi, generic_spi_chip_erase_c7, generic_spi_chip_write},
{"82802ab", 137, 173, 512, 64 * 1024,
probe_82802ab, erase_82802ab, write_82802ab},
{"82802ac", 137, 172, 1024, 64 * 1024,