[LinuxBIOS] r3008 - trunk/util/flashrom

svn at openbios.org svn at openbios.org
Sun Dec 16 22:15:27 CET 2007


Author: hailfinger
Date: 2007-12-16 22:15:27 +0100 (Sun, 16 Dec 2007)
New Revision: 3008

Modified:
   trunk/util/flashrom/flash.h
   trunk/util/flashrom/flashchips.c
   trunk/util/flashrom/spi.c
Log:
Add support for ST M25P80 chips to flashrom. Detection was tested.
Print status register before erase to help debugging block locks.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>
Acked-by: Corey Osgood <corey.osgood at gmail.com>


Modified: trunk/util/flashrom/flash.h
===================================================================
--- trunk/util/flashrom/flash.h	2007-12-14 20:00:58 UTC (rev 3007)
+++ trunk/util/flashrom/flash.h	2007-12-16 21:15:27 UTC (rev 3008)
@@ -167,7 +167,12 @@
 #define SST_49LF016C		0x5C
 #define SST_49LF160C		0x4C
 
+/*
+ * ST25P 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.
+ */
 #define ST_ID			0x20	/* ST */
+#define ST_M25P80		0x2014
 #define ST_M50FLW040A		0x08
 #define ST_M50FLW040B		0x28
 #define ST_M50FLW080A		0x80

Modified: trunk/util/flashrom/flashchips.c
===================================================================
--- trunk/util/flashrom/flashchips.c	2007-12-14 20:00:58 UTC (rev 3007)
+++ trunk/util/flashrom/flashchips.c	2007-12-16 21:15:27 UTC (rev 3008)
@@ -140,6 +140,8 @@
 	 probe_jedec,	erase_chip_jedec,	write_jedec},
 	{"M29F040B",	ST_ID, 		ST_M29F040B,	512, 64 * 1024,
 	 probe_29f040b, erase_29f040b,	write_29f040b},
+	{"M25P80",	ST_ID,		ST_M25P80,	1024, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase,	generic_spi_chip_write},
 	{"82802ab",	137,		173,		512, 64 * 1024,
 	 probe_82802ab, erase_82802ab,	write_82802ab},
 	{"82802ac",	137,		172,		1024, 64 * 1024,

Modified: trunk/util/flashrom/spi.c
===================================================================
--- trunk/util/flashrom/spi.c	2007-12-14 20:00:58 UTC (rev 3007)
+++ trunk/util/flashrom/spi.c	2007-12-16 21:15:27 UTC (rev 3008)
@@ -280,7 +280,11 @@
 int generic_spi_chip_erase(struct flashchip *flash)
 {
 	const unsigned char cmd[] = JEDEC_CE_2;
+	uint8_t statusreg;
 
+	statusreg = generic_spi_read_status_register();
+	printf("chip status register before erase is %02x\n", statusreg);
+	
 	generic_spi_write_enable();
 	/* Send CE (Chip Erase) */
 	generic_spi_command(JEDEC_CE_2_OUTSIZE, JEDEC_CE_2_INSIZE, cmd, NULL);





More information about the coreboot mailing list