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>
diff --git a/flashchips.c b/flashchips.c
index 5f5ffdf..3689de5 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7036,6 +7036,70 @@
{
.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