Nico Huber has uploaded this change for review.
Add support for EN29LV800(A/B/C) (was: Confirm EN29LV800 bus, timing, and page size)
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).
>From e30a0ec21ad12c54ff8a9751005103559122a180 Mon Sep 17 00:00:00 2001
From: Stefan Tauner <stefan.tauner@student.tuwien.ac.at>
Date: Tue, 2 Aug 2011 16:33:21 +0200
Subject: [PATCH] Add support for EN29LV800(A/B/C)
Change-Id: I22b6f18c366144d2e48bc1e2919cfebb3e65e168
Signed-off-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at>
---
M flashchips.c
M flashchips.h
2 files changed, 66 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/flashrom refs/changes/05/23805/1
diff --git a/flashchips.c b/flashchips.c
index b6296c5..f1e0ee4 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -3517,6 +3517,70 @@
{
.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 de3c79d..c44972a 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -256,6 +256,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 */
To view, visit change 23805. To unsubscribe, or for help writing mail filters, visit settings.