See patch.
Uwe. -- http://hermann-uwe.de | http://sigrok.org http://randomprojects.org | http://unmaintained-free-software.org
Mark the following chips as OK: - PMC Pm49FL004 - SST SST49LF020 - SST SST49LF020A - SST SST49LF040B - SST SST49LF080A - Winbond W39V040B I tested all operations on hardware using r997. Only on SST49LF040B write/erase does not seem to work, will investigate later (probe/read works, though). Signed-off-by: Uwe Hermann <[email protected]> Index: flashchips.c =================================================================== --- flashchips.c (Revision 997) +++ flashchips.c (Arbeitskopie) @@ -3543,35 +3543,35 @@ .block_erase = erase_chip_block_jedec, } }, .unlock = unlock_49fl00x, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "PMC", .name = "Pm49FL004", .bustype = CHIP_BUSTYPE_LPC | CHIP_BUSTYPE_FWH, /* A/A Mux*/ .manufacture_id = PMC_ID_NOPREFIX, .model_id = PMC_49FL004, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_REGISTERMAP | FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* routine is wrapper to probe_jedec (pm49fl00x.c) */ .block_erasers = { { .eraseblocks = { {4 * 1024, 128} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {64 * 1024, 8} }, .block_erase = erase_block_jedec, }, { .eraseblocks = { {512 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .unlock = unlock_49fl00x, .write = write_jedec_1, @@ -4456,64 +4456,64 @@ .block_erase = erase_block_82802ab, } }, .unlock = unlock_49lfxxxc, .write = write_49lfxxxc, .read = read_memmapped, }, { .vendor = "SST", .name = "SST49LF020", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = SST_ID, .model_id = SST_49LF020, .total_size = 256, .page_size = 16 * 1024, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = 1, /* 150 ns */ .block_erasers = { { .eraseblocks = { {4 * 1024, 64} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {16 * 1024, 16} }, .block_erase = erase_block_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = NULL, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SST", .name = "SST49LF020A", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = SST_ID, .model_id = SST_49LF020A, .total_size = 256, .page_size = 4 * 1024, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = 1, /* 150 ns */ .block_erasers = { { .eraseblocks = { {4 * 1024, 64} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {16 * 1024, 16} }, .block_erase = erase_block_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = NULL, } }, .write = write_jedec_1, .read = read_memmapped, @@ -4543,64 +4543,64 @@ .eraseblocks = { {512 * 1024, 1} }, .block_erase = NULL, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SST", .name = "SST49LF040B", .bustype = CHIP_BUSTYPE_LPC, /* A/A Mux */ .manufacture_id = SST_ID, .model_id = SST_49LF040B, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PR, .probe = probe_jedec, .probe_timing = 1, /* 150ns */ .block_erasers = { { .eraseblocks = { {4 * 1024, 128} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {64 * 1024, 8} }, .block_erase = erase_block_jedec, }, { .eraseblocks = { {512 * 1024, 1} }, .block_erase = NULL, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SST", .name = "SST49LF080A", .bustype = CHIP_BUSTYPE_LPC, /* A/A Mux */ .manufacture_id = SST_ID, .model_id = SST_49LF080A, .total_size = 1024, .page_size = 4096, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_OK_PR, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = TIMING_FIXME, .block_erasers = { { .eraseblocks = { {4 * 1024, 256} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {64 * 1024, 16} }, .block_erase = erase_block_jedec, }, { .eraseblocks = { {1024 * 1024, 1} }, .block_erase = NULL, } }, .write = write_jedec_1, .read = read_memmapped, @@ -6020,35 +6020,35 @@ .eraseblocks = { {512 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "Winbond", .name = "W39V040B", .bustype = CHIP_BUSTYPE_LPC, .manufacture_id = WINBOND_ID, .model_id = W_39V040B, .total_size = 512, .page_size = 64 * 1024, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_OK_PRW, + .tested = TEST_OK_PREW, .probe = probe_jedec, .probe_timing = 10, .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, }, {
_______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
