diff options
-rw-r--r-- | flashchips.c | 64 | ||||
-rw-r--r-- | flashchips.h | 1 |
2 files changed, 65 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c index 5f5ffdf4..3689de53 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 fb17981a..174ab3ba 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 |