From 4e7f36ec30bbc428beace0c99e83708e45274287 Mon Sep 17 00:00:00 2001 From: Michael Coppola Date: Sat, 3 May 2014 23:01:18 +0000 Subject: [PATCH] Add support for Macronix MX23L3254 mask ROM Corresponding to flashrom svn r1784. Signed-off-by: Michael Coppola Signed-off-by: Stefan Tauner Acked-by: Stefan Tauner --- flash.h | 1 + flashchips.c | 16 ++++++++++++++++ flashchips.h | 11 ++++++----- 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 @@ -5907,6 +5907,22 @@ const struct flashchip flashchips[] = { .voltage = {3000, 3600}, }, + { + .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)", 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. */