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 <[EMAIL PROTECTED]>
Acked-by: Corey Osgood <[EMAIL PROTECTED]>


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);


-- 
linuxbios mailing list
linuxbios@linuxbios.org
http://www.linuxbios.org/mailman/listinfo/linuxbios

Reply via email to