diff options
author | Joshua Roys <roysjosh@gmail.com> | 2010-09-16 00:51:51 +0000 |
---|---|---|
committer | Mattias Mattsson <vitplister@gmail.com> | 2010-09-16 00:51:51 +0000 |
commit | 030798f145b778e9ec7b442ca94106248a6e1093 (patch) | |
tree | 07a705355fb8f49c9cc4a0bebf2c9a54a424cc3c | |
parent | 59434815049ebb727cb8213b0efff3d27df08612 (diff) | |
download | flashrom-030798f145b778e9ec7b442ca94106248a6e1093.zip flashrom-030798f145b778e9ec7b442ca94106248a6e1093.tar.gz |
Add chip definitions for the folowing chips
Bright BM29F040
Hyundai HY29F040A
Macronix MX29F040
Also add chip IDs for
Bright BM29F400T/B
Datasheets:
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F040.pdf
http://www.ezoflash.com/datasheets/flash/Hyundai/HY29F040A.pdf
http://www.ezoflash.com/datasheets/flash/Macronix/MX29F040.pdf
http://www.ezoflash.com/datasheets/flash/Winbond/BM29F400T_B.pdf
Bright BM29F040 probe/read test report:
http://www.flashrom.org/pipermail/flashrom/2010-September/004805.html
Corresponding to flashrom svn r1176.
Signed-off-by: Joshua Roys <roysjosh@gmail.com>
Acked-by: Mattias Mattsson <vitplister@gmail.com>
-rw-r--r-- | flashchips.c | 78 | ||||
-rw-r--r-- | flashchips.h | 6 |
2 files changed, 84 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c index 482f02a..946e4fc 100644 --- a/flashchips.c +++ b/flashchips.c @@ -1962,6 +1962,32 @@ struct flashchip flashchips[] = { }, { + .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", .bustype = CHIP_BUSTYPE_PARALLEL, @@ -3085,6 +3111,32 @@ struct flashchip flashchips[] = { }, { + .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", .bustype = CHIP_BUSTYPE_PARALLEL, @@ -3883,6 +3935,32 @@ struct flashchip flashchips[] = { { .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", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = MACRONIX_ID, diff --git a/flashchips.h b/flashchips.h index f2e1a0d..56d715d 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 */ |