diff --git a/flashchips.c b/flashchips.c index 482f02acb..946e4fcb8 100644 --- a/flashchips.c +++ b/flashchips.c @@ -1961,6 +1961,32 @@ struct flashchip flashchips[] = { .read = read_memmapped, }, + { + .vendor = "Bright", + .name = "BM29F040", + .bustype = CHIP_BUSTYPE_PARALLEL, + .manufacture_id = BRIGHT_ID, + .model_id = BRIGHT_BM29F040, + .total_size = 512, + .page_size = 64 * 1024, + .feature_bits = FEATURE_EITHER_RESET, + .tested = TEST_OK_PR, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + }, + { .vendor = "EMST", .name = "F49B002UA", @@ -3084,6 +3110,32 @@ struct flashchip flashchips[] = { .read = read_memmapped, }, + { + .vendor = "Hyundai", + .name = "HY29F040A", + .bustype = CHIP_BUSTYPE_PARALLEL, + .manufacture_id = HYUNDAI_ID, + .model_id = HYUNDAI_HY29F040A, + .total_size = 512, + .page_size = 64 * 1024, + .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + }, + { .vendor = "Intel", .name = "28F001BX-B", @@ -3881,6 +3933,32 @@ struct flashchip flashchips[] = { .read = read_memmapped, }, + { + .vendor = "Macronix", + .name = "MX29F040", + .bustype = CHIP_BUSTYPE_PARALLEL, + .manufacture_id = MACRONIX_ID, + .model_id = MACRONIX_MX29F040, + .total_size = 512, + .page_size = 64 * 1024, + .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { {64 * 1024, 8} }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {512 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = write_jedec_1, + .read = read_memmapped, + }, + { .vendor = "Macronix", .name = "MX29LV040", diff --git a/flashchips.h b/flashchips.h index f2e1a0d1b..56d715d08 100644 --- a/flashchips.h +++ b/flashchips.h @@ -171,6 +171,12 @@ #define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */ #define ATMEL_AT49F002NT 0x08 /* for AT49F002(N)T */ +/* Bright Microelectronics has the same manufacturer ID as Hyundai... */ +#define BRIGHT_ID 0xAD /* Bright Microelectronics */ +#define BRIGHT_BM29F040 0x40 +#define BRIGHT_BM29F400B 0xAB +#define BRIGHT_BM29F400T 0xAD + #define CATALYST_ID 0x31 /* Catalyst */ #define EMST_ID 0x8C /* EMST / EFST Elite Flash Storage */