From patchwork Wed Aug 31 00:52:42 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: New flash chip, AT49F010 Date: Wed, 31 Aug 2011 00:52:42 -0000 From: Andrew Morgan X-Patchwork-Id: 3396 Message-Id: <4E5D85DA.3070308@ziltro.com> To: flashrom@flashrom.org On 30/08/11 23:25, Stefan Tauner wrote: > review of the AT49F010 patch follows: >> Index: flashchips.c >> =================================================================== >> --- flashchips.c (revision 1422) >> +++ flashchips.c (working copy) >> @@ -2218,6 +2218,30 @@ >> >> { >> .vendor = "Atmel", >> + .name = "AT49F010", > .name = "AT49(H)F010", > The H version is just a faster version (but with same VCC). > Are you suggesting I change the name to include (H)? If so does AT49F020 have an H version too and should that be changed? If it wants to be changed what should flashchips.h have for the name? >> + .bustype = BUS_PARALLEL, >> + .manufacture_id = ATMEL_ID, >> + .model_id = ATMEL_AT49F010, >> + .total_size = 128, >> + .page_size = 128, > should probably be 256 for now (semantics are different for each chip > driver for parallel chips afaik and it does not matter for jedec > routines iirc. NB: page_size is in bytes, so syncing it with total_size > does not make sense.)... > Ok, changed. I didn't know where to find information on what to set page_size, feature_bits or probe_timing to. > this chip and also the 2 Mb and 4 Mb versions support a boot block > protection that can be detected by software. it would be nice to add > a .printlock function to do this and inform the user. i have seen the > scheme before. Maybe there is already code in flashrom... but it is not > that important. I've looked at the patch mentioned in your later messages, and modified w39.c and chipdrivers.h, and added a .printlock = line to the AT49F010. The code compiled and ran and it told me the boot block lock was not active. This was just a test so I have left this out of the attached patch. I didn't do any tests to see if the printlock code affected read/write at all. > Adding the 4 Mb version OTOH is trivial (ID 0x13) and would be > appreciated. Nevertheless after addressing the in-line comments this > patch is: > Acked-by: Stefan Tauner > > do you have commit rights? I do not. Updated patch attached. I hope I got all the changes. :) If I get a chance and can find datasheets I'll have a go at adding the larger AT49F chips. Index: flashchips.c =================================================================== --- flashchips.c (revision 1423) +++ 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 = 256, + .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 1423) +++ 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 /* Same as AT49HF010 */ #define ATMEL_AT49F020 0x0B #define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */ #define ATMEL_AT49F002NT 0x08 /* for AT49F002(N)T */