[coreboot] PATCH: Add Spansion S25FL016A to flashrom

Peter Stuge peter at stuge.se
Thu Jan 24 13:38:34 CET 2008


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
-------------- next part --------------
Add ids and chip entry for Spansion S25FL016A.
Reading seems to work reliably, writing not so much.

Signed-off-by: Peter Stuge <peter at stuge.se>

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,


More information about the coreboot mailing list