Author: mhm Date: Thu Sep 16 02:51:51 2010 New Revision: 1176 URL: http://flashrom.org/trac/flashrom/changeset/1176
Log: 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
Signed-off-by: Joshua Roys roysjosh@gmail.com Acked-by: Mattias Mattsson vitplister@gmail.com
Modified: trunk/flashchips.c trunk/flashchips.h
Modified: trunk/flashchips.c ============================================================================== --- trunk/flashchips.c Thu Sep 16 01:31:03 2010 (r1175) +++ trunk/flashchips.c Thu Sep 16 02:51:51 2010 (r1176) @@ -1962,6 +1962,32 @@ },
{ + .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 @@ },
{ + .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, @@ -3877,6 +3929,32 @@ .block_erase = erase_chip_block_jedec, }, }, + .write = write_jedec_1, + .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, },
Modified: trunk/flashchips.h ============================================================================== --- trunk/flashchips.h Thu Sep 16 01:31:03 2010 (r1175) +++ trunk/flashchips.h Thu Sep 16 02:51:51 2010 (r1176) @@ -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 */