summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniele Forsi <dforsi@gmail.com>2014-07-13 14:53:45 +0000
committerStefan Tauner <stefan.tauner@alumni.tuwien.ac.at>2014-07-13 14:53:45 +0000
commit884c8317f5e2a01cd00b12967e5e8f39fb18be40 (patch)
tree1658f5b85f29ee32b34feaa789b9028fab507506
parent78ea7814ff3e4ae9ac9454fcbd4df6efd13708fd (diff)
downloadflashrom-884c8317f5e2a01cd00b12967e5e8f39fb18be40.zip
flashrom-884c8317f5e2a01cd00b12967e5e8f39fb18be40.tar.gz
Add support for Macronix MX29F022(N)B and MX29F022(N)T
The MX29F022(N)T definition was successfully tested by Daniele. Corresponding to flashrom svn r1825. Signed-off-by: Daniele Forsi <dforsi@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--flashchips.c64
-rw-r--r--flashchips.h1
2 files changed, 65 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index 5f5ffdf..3689de5 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7036,6 +7036,70 @@ const struct flashchip flashchips[] = {
{
.vendor = "Macronix",
+ .name = "MX29F022(N)B",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX29F022B,
+ .total_size = 256,
+ .page_size = 0, /* unused */
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {16 * 1024, 1},
+ {8 * 1024, 2},
+ {32 * 1024, 1},
+ {64 * 1024, 3},
+ },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ }
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ },
+
+ {
+ .vendor = "Macronix",
+ .name = "MX29F022(N)T",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX29F022T,
+ .total_size = 256,
+ .page_size = 0, /* unused */
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .tested = TEST_OK_PREW,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {64 * 1024, 3},
+ {32 * 1024, 1},
+ {8 * 1024, 2},
+ {16 * 1024, 1},
+ },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {256 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ }
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ .voltage = {4500, 5500},
+ },
+
+ {
+ .vendor = "Macronix",
.name = "MX29F040",
.bustype = BUS_PARALLEL,
.manufacture_id = MACRONIX_ID,
diff --git a/flashchips.h b/flashchips.h
index fb17981..174ab3b 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -456,6 +456,7 @@
#define MACRONIX_MX29F002T 0xB0 /* Same as MX29F002NT; N has reset pin n/c. */
#define MACRONIX_MX29F004B 0x46
#define MACRONIX_MX29F004T 0x45
+#define MACRONIX_MX29F022B 0x37 /* Same as MX29F022NB */
#define MACRONIX_MX29F022T 0x36 /* Same as MX29F022NT */
#define MACRONIX_MX29F040 0xA4 /* Same as MX29F040C */
#define MACRONIX_MX29F080 0xD5
OpenPOWER on IntegriCloud