summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Coppola <michael.n.coppola@gmail.com>2014-05-03 23:01:18 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2014-05-03 23:01:18 +0000
commit4e7f36ec30bbc428beace0c99e83708e45274287 (patch)
tree3d6d66452d111de88a0e691f639a313b77f73f9c
parentc2eec2c92015785ead5a5bcba4ce3a42501084c8 (diff)
downloadflashrom-4e7f36ec30bbc428beace0c99e83708e45274287.tar.gz
flashrom-4e7f36ec30bbc428beace0c99e83708e45274287.tar.bz2
flashrom-4e7f36ec30bbc428beace0c99e83708e45274287.zip
Add support for Macronix MX23L3254 mask ROM
Corresponding to flashrom svn r1784. Signed-off-by: Michael Coppola <michael.n.coppola@gmail.com> Signed-off-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@alumni.tuwien.ac.at>
-rw-r--r--flash.h1
-rw-r--r--flashchips.c16
-rw-r--r--flashchips.h11
3 files changed, 23 insertions, 5 deletions
diff --git a/flash.h b/flash.h
index bfb0a499f..59f7cd4a1 100644
--- a/flash.h
+++ b/flash.h
@@ -208,6 +208,7 @@ struct flashctx {
#define TEST_BAD_READ (1 << 5)
#define TEST_BAD_ERASE (1 << 6)
#define TEST_BAD_WRITE (1 << 7)
+#define TEST_BAD_EW (TEST_BAD_ERASE | TEST_BAD_WRITE)
#define TEST_BAD_REW (TEST_BAD_READ | TEST_BAD_ERASE | TEST_BAD_WRITE)
#define TEST_BAD_PREW (TEST_BAD_PROBE | TEST_BAD_READ | TEST_BAD_ERASE | TEST_BAD_WRITE)
#define TEST_BAD_MASK 0xf0
diff --git a/flashchips.c b/flashchips.c
index 8289788a3..683af3c17 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -5909,6 +5909,22 @@ const struct flashchip flashchips[] = {
{
.vendor = "Macronix",
+ .name = "MX23L3254",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX23L3254,
+ .total_size = 4096,
+ .page_size = 256,
+ .tested = TEST_OK_PR | TEST_BAD_EW,
+ .probe = probe_spi_rdid,
+ .probe_timing = TIMING_ZERO,
+ .write = NULL, /* MX23L3254 is a mask ROM, so it is read-only */
+ .read = spi_chip_read, /* Fast read (0x0B) supported */
+ .voltage = {3000, 3600},
+ },
+
+ {
+ .vendor = "Macronix",
.name = "MX25L512(E)/MX25V512(C)",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
diff --git a/flashchips.h b/flashchips.h
index 8cbf29957..6db6b744b 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -423,13 +423,13 @@
#define ISSI_ID 0xD5 /* ISSI Integrated Silicon Solutions */
-/*
- * MX25 chips are SPI, first byte of device ID is memory type,
+#define MACRONIX_ID 0xC2 /* Macronix (MX) */
+/* Mask ROMs */
+#define MACRONIX_MX23L3254 0x0516
+/* MX25 chips are SPI, first byte of device ID is memory type,
* second byte of device ID is log(bitsize)-9.
* Generalplus SPI chips seem to be compatible with Macronix
- * and use the same set of IDs.
- */
-#define MACRONIX_ID 0xC2 /* Macronix (MX) */
+ * and use the same set of IDs. */
#define MACRONIX_MX25L512 0x2010 /* Same as MX25L512E, MX25V512, MX25V512C */
#define MACRONIX_MX25L1005 0x2011 /* Same as MX25L1005C, MX25L1006E */
#define MACRONIX_MX25L2005 0x2012 /* Same as MX25L2005C */
@@ -448,6 +448,7 @@
#define MACRONIX_MX25U12835E 0x2538 /* Same as MX25U12835F */
#define MACRONIX_MX25U25635F 0x2539
#define MACRONIX_MX25L3235D 0x5E16 /* MX25L3225D/MX25L3235D/MX25L3237D */
+
#define MACRONIX_MX29F001B 0x19
#define MACRONIX_MX29F001T 0x18
#define MACRONIX_MX29F002B 0x34 /* Same as MX29F002NB; N has reset pin n/c. */