[flashrom] New flash chips, AT49F010 and CAT28F512
Stefan Tauner
stefan.tauner at student.tuwien.ac.at
Wed Aug 31 00:25:36 CEST 2011
On Sat, 27 Aug 2011 04:28:28 +0100
Andrew Morgan <ziltro at ziltro.com> wrote:
> 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 <ziltro at ziltro.com>
>
hello andrew and thanks for the patches!
btw patch_es_: please post one per mail in the future, because
patchwork seems to be too dumb to recognize multiple patches in one
mail (http://patchwork.coreboot.org/patch/3395/).
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).
> + .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.)...
> + .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 */
correct id, but the comment should be /* Same as AT49HF010 */ to be consistent.
> #define ATMEL_AT49F020 0x0B
> #define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */
> #define ATMEL_AT49F002NT 0x08 /* for AT49F002(N)T */
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.
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 <stefan.tauner at student.tuwien.ac.at>
do you have commit rights?
--
Kind regards/Mit freundlichen Grüßen, Stefan Tauner
More information about the flashrom
mailing list