This is based on TJ's patches from 2010, see http://patchwork.coreboot.org/patch/883/ http://patchwork.coreboot.org/patch/884/
I have rebased and combined them, added voltages, corrected the names and verified the erase block layouts. Someone else needs to review/change the parallel-specific parts, because i have no idea about all those jedec vs. 3-byte vs. shifted problems (and i actually do not want to know :P). -- Kind regards/Mit freundlichen Grüßen, Stefan Tauner
>From e30a0ec21ad12c54ff8a9751005103559122a180 Mon Sep 17 00:00:00 2001 From: Stefan Tauner <[email protected]> Date: Tue, 2 Aug 2011 16:33:21 +0200 Subject: [PATCH] Add support for EN29LV800(A/B/C) Signed-off-by: Stefan Tauner <[email protected]> --- flashchips.c | 64 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ flashchips.h | 2 + 2 files changed, 66 insertions(+), 0 deletions(-) diff --git a/flashchips.c b/flashchips.c index 1a5622f..e06805b 100644 --- a/flashchips.c +++ b/flashchips.c @@ -3451,6 +3451,70 @@ const struct flashchip flashchips[] = { { .vendor = "Eon", + .name = "EN29LV800(A/B/C)B", + .bustype = BUS_PARALLEL, + .manufacture_id = EON_ID, + .model_id = EON_EN29LV800B, + .total_size = 1024, + .page_size = 1024, + .feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { + {16 * 1024, 1}, + {8 * 1024, 2}, + {32 * 1024, 1}, + {64 * 1024, 15}, + }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {1024 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = NULL, + .read = read_memmapped, + .voltage = {3000, 3600}, /* 3.0-3.6V for type -70R, -55R, others 2.7-3.6V */ + }, + + { + .vendor = "Eon", + .name = "EN29LV800(A/B/C)T", + .bustype = BUS_PARALLEL, + .manufacture_id = EON_ID, + .model_id = EON_EN29LV800T, + .total_size = 1024, + .page_size = 1024, + .feature_bits = FEATURE_ADDR_AAA | FEATURE_EITHER_RESET, + .tested = TEST_UNTESTED, + .probe = probe_jedec, + .probe_timing = TIMING_ZERO, + .block_erasers = + { + { + .eraseblocks = { + {64 * 1024, 15}, + {32 * 1024, 1}, + {8 * 1024, 2}, + {16 * 1024, 1}, + }, + .block_erase = erase_sector_jedec, + }, { + .eraseblocks = { {1024 * 1024, 1} }, + .block_erase = erase_chip_block_jedec, + }, + }, + .write = NULL, + .read = read_memmapped, + .voltage = {3000, 3600}, /* 3.0-3.6V for type -70R, -55R, others 2.7-3.6V */ + }, + + { + .vendor = "Eon", .name = "EN29F002(A)(N)B", .bustype = BUS_PARALLEL, .manufacture_id = EON_ID, diff --git a/flashchips.h b/flashchips.h index ff49d31..e8a0895 100644 --- a/flashchips.h +++ b/flashchips.h @@ -251,6 +251,8 @@ #define EON_EN29F040A 0x7F04 #define EON_EN29LV010 0x7F6E #define EON_EN29LV040A 0x7F4F /* EN29LV040(A) */ +#define EON_EN29LV800B 0x7F5B /* EN29LV800(A/B/C) bottom */ +#define EON_EN29LV800T 0x7FDA /* EN29LV800(A/B/C) top */ #define EON_EN29F002T 0x7F92 /* Same as EN29F002A */ #define EON_EN29F002B 0x7F97 /* Same as EN29F002AN */ -- 1.7.1
_______________________________________________ flashrom mailing list [email protected] http://www.flashrom.org/mailman/listinfo/flashrom
