I've added a new definition for the Macronix MX23L3254 chip (4M). Since
it is a mask ROM, it doesn't support write or erase. Let me know if the
definition is incorrect in describing this.
Here's the datasheet for reference:
http://www.macronix.com/Lists/DataSheet/Attachments/1233/MX23L3254,%203.0-3.3V,%2032Mb,%20v1.5.pdf
Probe and read works when tested on a real chip:
$ ./flashrom -p buspirate_spi:dev=/dev/ttyUSB0 -r trying_again2.bin
flashrom v0.9.7-r1767 on Linux 3.8.0-37-generic (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org
Calibrating delay loop... OK.
Found Macronix flash chip "MX23L3254" (4096 kB, SPI) on buspirate_spi.
===
This flash part has status UNTESTED for operations: ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to [email protected] if any of the above
operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Reading flash... done.
Signed-off-by: Michael Coppola <[email protected]>
Index: flashchips.c
===================================================================
--- flashchips.c (revision 1767)
+++ flashchips.c (working copy)
@@ -5909,6 +5909,28 @@
{
.vendor = "Macronix",
+ .name = "MX23L3254",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX23L3254,
+ .total_size = 4096,
+ .page_size = 256,
+ .feature_bits = 0,
+ .tested = TEST_OK_PR,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ },
+ .printlock = spi_prettyprint_status_register_default_bp1,
+ .unlock = NULL, /* MX23L3254 is a mask ROM, so it is read-only */
+ .write = NULL,
+ .read = spi_chip_read,
+ .voltage = {3000, 3600},
+ },
+
+ {
+ .vendor = "Macronix",
.name = "MX25L512(E)/MX25V512(C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
Index: flashchips.h
===================================================================
--- flashchips.h (revision 1767)
+++ flashchips.h (working copy)
@@ -430,6 +430,7 @@
* and use the same set of IDs.
*/
#define MACRONIX_ID 0xC2 /* Macronix (MX) */
+#define MACRONIX_MX23L3254 0x0516 /* MX23L3254 mask ROM (4M) */
#define MACRONIX_MX25L512 0x2010 /* Same as MX25L512E, MX25V512, MX25V512C */
#define MACRONIX_MX25L1005 0x2011 /* Same as MX25L1005C, MX25L1006E */
#define MACRONIX_MX25L2005 0x2012 /* Same as MX25L2005C */
_______________________________________________
flashrom mailing list
[email protected]
http://www.flashrom.org/mailman/listinfo/flashrom