On Sun, Mar 14, 2010 at 03:29:23PM +0100, Michael Karcher wrote: > Am Sonntag, den 14.03.2010, 02:15 +0100 schrieb Uwe Hermann: > > See patch. > IIRC carldani suggested to mark only TEST_OK_PRW instead of > TEST_OK_PREW, because not all delete paths are tested.
OK, new patch which only marks them as PRW for now. I'll redo the ERASE test later when flashrom infrastructure allows testing all erase functions. Uwe. -- http://www.hermann-uwe.de | http://www.randomprojects.org http://www.crazy-hacks.org | http://www.unmaintained-free-software.org
Mark a bunch of parallel chips I tested as TEST_OK_PRW. All operations for these chips were tested on hardware. ERASE is not marked as working yet, as there are multiple erase functions per chip and only one was (successfully) tested. I'll redo the ERASE test when the respective infrastructure in flashrom is there. Signed-off-by: Uwe Hermann <[email protected]> Index: flashchips.c =================================================================== --- flashchips.c (Revision 943) +++ flashchips.c (Arbeitskopie) @@ -838,35 +838,35 @@ .block_erase = erase_chip_block_jedec, } }, .write = write_jedec, .read = read_memmapped, }, { .vendor = "Atmel", .name = "AT29C010A", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = ATMEL_ID, .model_id = AT_29C010A, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 10000, /* 10mS, Enter=Exec */ .block_erasers = { { .eraseblocks = { {128 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec, /* FIXME */ .read = read_memmapped, }, { .vendor = "Atmel", .name = "AT29C020", .bustype = CHIP_BUSTYPE_PARALLEL, @@ -1096,35 +1096,35 @@ .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "Atmel", .name = "AT49F002(N)T", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = ATMEL_ID, .model_id = AT_49F002NT, .total_size = 256, .page_size = 256, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ .block_erasers = { { .eraseblocks = { {128 * 1024, 1}, {96 * 1024, 1}, {8 * 1024, 2}, {16 * 1024, 1}, }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, @@ -1222,35 +1222,35 @@ .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "AMIC", .name = "A29002T", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = AMIC_ID_NOPREFIX, .model_id = AMIC_A29002T, .total_size = 256, .page_size = 64 * 1024, .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */ .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, }, }, @@ -2147,35 +2147,35 @@ .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "EON", .name = "EN29F002(A)(N)T", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = EON_ID, .model_id = EN_29F002T, .total_size = 256, .page_size = 256, .feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ .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, }, }, @@ -2876,35 +2876,35 @@ .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "Macronix", .name = "MX29F002T", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = MX_ID, .model_id = MX_29F002T, .total_size = 256, .page_size = 64 * 1024, .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = TIMING_IGNORED, /* routine don't use probe_timing (mx29f002.c) */ .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, }, }, @@ -3734,35 +3734,35 @@ .eraseblocks = { {512 * 1024, 1} }, .block_erase = erase_chip_28sf040, } }, .write = write_28sf040, .read = read_memmapped, }, { .vendor = "SST", .name = "SST29EE010", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = SST_ID, .model_id = SST_29EE010, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 10, .block_erasers = { { .eraseblocks = { {128 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec, .read = read_memmapped, }, { .vendor = "SST", .name = "SST29LE010", .bustype = CHIP_BUSTYPE_PARALLEL, @@ -3852,61 +3852,61 @@ .eraseblocks = { {64 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SST", .name = "SST39SF010A", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = SST_ID, .model_id = SST_39SF010, .total_size = 128, .page_size = 4096, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 1, /* 150 ns */ .block_erasers = { { .eraseblocks = { {4 * 1024, 32} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {128 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SST", .name = "SST39SF020A", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = SST_ID, .model_id = SST_39SF020, .total_size = 256, .page_size = 4096, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 1, /* 150 ns */ .block_erasers = { { .eraseblocks = { {4 * 1024, 64} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { @@ -5294,35 +5294,35 @@ .eraseblocks = { {128 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "SyncMOS", .name = "S29C51002T", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = SYNCMOS_ID, .model_id = S29C51002T, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ .block_erasers = { { .eraseblocks = { {512, 512} }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped, }, { @@ -5622,58 +5622,58 @@ .eraseblocks = { {8 * 1024 * 1024, 1} }, .block_erase = spi_block_erase_c7, } }, .write = spi_chip_write_256, .read = spi_chip_read, }, { .vendor = "Winbond", .name = "W29C011", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, .model_id = W_29C011, .total_size = 128, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 10, /* used datasheet for the W29C011A */ .block_erasers = { { .eraseblocks = { {128 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec, .read = read_memmapped, }, { .vendor = "Winbond", .name = "W29C020C", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, .model_id = W_29C020C, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_LONG_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 10, .block_erasers = { { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec, .read = read_memmapped, }, { .vendor = "Winbond", .name = "W29C040P", .bustype = CHIP_BUSTYPE_PARALLEL, @@ -5848,35 +5848,35 @@ .eraseblocks = { {1024 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } }, .write = write_jedec_1, .read = read_memmapped, }, { .vendor = "Winbond", .name = "W49F002U", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = WINBOND_ID, .model_id = W_49F002U, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET, - .tested = TEST_UNTESTED, + .tested = TEST_OK_PRW, .probe = probe_jedec, .probe_timing = 10, .block_erasers = { { .eraseblocks = { {128 * 1024, 1}, {96 * 1024, 1}, {8 * 1024, 2}, {16 * 1024, 1}, }, .block_erase = erase_sector_jedec, }, { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec, } },
_______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
