From patchwork Sat Aug 27 03:28:28 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: New flash chips, AT49F010 and CAT28F512 Date: Sat, 27 Aug 2011 03:28:28 -0000 From: Andrew Morgan X-Patchwork-Id: 3395 Message-Id: <4E58645C.6020908@ziltro.com> To: flashrom@flashrom.org AT49F010 patch is basically a copy of the existing AT49F020 code, but with half the size and the correct ID. The log was from a write of random data, after the chip already contained different random data. I did separate read, erase, write tests before but this log seems to show that PREW all work. CAT28F512 I have successfully probed and read data from, but erase fails. Could be because it needs 12v VPP. The CAT28F512 I have is soldered on to a NIC. I haven't investigated if VPP is connected at all yet. Thought I'd include the patch as-is anyway. Both patches: Signed-off-by: Andrew Morgan Acked-by: Stefan Tauner Index: flashchips.c =================================================================== --- flashchips.c (revision 1422) +++ flashchips.c (working copy) @@ -2218,6 +2218,30 @@ { .vendor = "Atmel", + .name = "AT49F010", + .bustype = BUS_PARALLEL, + .manufacture_id = ATMEL_ID, + .model_id = ATMEL_AT49F010, + .total_size = 128, + .page_size = 128, + .feature_bits = FEATURE_EITHER_RESET, + .tested = TEST_OK_PREW, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, /* Datasheet has no timing info specified */ + .block_erasers = + { + { + .eraseblocks = { {128 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + } + }, + .write = write_jedec_1, + .read = read_memmapped, + .voltage = {4500, 5500}, + }, + + { + .vendor = "Atmel", .name = "AT49F020", .bustype = BUS_PARALLEL, .manufacture_id = ATMEL_ID, Index: flashchips.h =================================================================== --- flashchips.h (revision 1422) +++ flashchips.h (working copy) @@ -181,6 +181,7 @@ #define ATMEL_AT45DB642 /* No ID available */ #define ATMEL_AT45DB642D 0x2800 #define ATMEL_AT49BV512 0x03 +#define ATMEL_AT49F010 0x17 /* Also AT49HF010 */ #define ATMEL_AT49F020 0x0B #define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */ #define ATMEL_AT49F002NT 0x08 /* for AT49F002(N)T */