I put a Spansion chip on a m57sli. This patch lets flashrom read the
chip successfully. Writing is inconsistent.

I've done two writes so far. Writing takes several minutes and I
don't get any progress messages from flashrom.

The first run was 4*coreboot.rom and that booted right away with VGA
and all. Yay! The read back file matched the original file.

Then I wrote rand.bin which is 2MB of /dev/random. This consistently
reads back as something quite different from the original. See 8MB
diff at http://stuge.se/m57sli/s25fl016a.diff (rand.bin and back.bin
are there too)


//Peter
Add ids and chip entry for Spansion S25FL016A.
Reading seems to work reliably, writing not so much.

Signed-off-by: Peter Stuge <[EMAIL PROTECTED]>

Index: util/flashrom/flash.h
===================================================================
--- util/flashrom/flash.h       (revision 3073)
+++ util/flashrom/flash.h       (working copy)
@@ -166,6 +166,14 @@
 #define SHARP_LHF00L04         0xCF
 
 /*
+ * Spansion was previously a joint venture of AMD and Fujitsu.
+ * S25 chips are SPI. The first device ID byte is memory type and
+ * the second device ID byte is memory capacity.
+ */
+#define SPANSION_ID            0x01    /* Spansion */
+#define SPANSION_S25FL016A     0x0214
+
+/*
  * SST25 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.
  */
Index: util/flashrom/flashchips.c
===================================================================
--- util/flashrom/flashchips.c  (revision 3073)
+++ util/flashrom/flashchips.c  (working copy)
@@ -56,6 +56,8 @@
         probe_spi,     generic_spi_chip_erase_c7,      generic_spi_chip_write, 
generic_spi_chip_read},
        {"MX25L3205",   MX_ID,          MX_25L3205,     4096, 256,
         probe_spi,     generic_spi_chip_erase_c7,      generic_spi_chip_write, 
generic_spi_chip_read},
+       {"S25FL016A",   SPANSION_ID,    SPANSION_S25FL016A,     2048, 256,
+        probe_spi,     generic_spi_chip_erase_c7,      
over512k_spi_chip_write, over512k_spi_chip_read},
        {"SST25VF040B", SST_ID,         SST_25VF040B,   512,    256,
         probe_spi,     generic_spi_chip_erase_c7,      generic_spi_chip_write, 
generic_spi_chip_read},
        {"SST25VF016B", SST_ID,         SST_25VF016B,   2048,   256,
-- 
coreboot mailing list
[email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to