summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-08-25 13:31:43 +0000
committerstefanct <stefanct@2b7e53f0-3cfb-0310-b3e9-8179ed1497e1>2013-08-25 13:31:43 +0000
commit215a3ced03b5b083c720f853b027028bd584d9c8 (patch)
tree578abd9fbc75340910eca37fbc29f999553fe39e
parent1b6e9bbfded3433049ac3a2b5ac446528622c83a (diff)
downloadflashrom-215a3ced03b5b083c720f853b027028bd584d9c8.tar.gz
Add support for Fujitsu MBM29LV160BE/TE.
Signed-off-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> Acked-by: Stefan Tauner <stefan.tauner@student.tuwien.ac.at> git-svn-id: https://code.coreboot.org/svn/flashrom/trunk@1722 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--flashchips.c64
-rw-r--r--flashchips.h2
2 files changed, 66 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index a693290..9b331c7 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -4580,6 +4580,70 @@ const struct flashchip flashchips[] = {
},
{
+ .vendor = "Fujitsu",
+ .name = "MBM29LV160BE",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = FUJITSU_ID,
+ .model_id = FUJITSU_MBM29LV160BE,
+ .total_size = 2 * 1024,
+ .page_size = 0,
+ .feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_SHORT_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_m29f400bt,
+ .probe_timing = TIMING_IGNORED,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {16 * 1024, 1},
+ {8 * 1024, 2},
+ {32 * 1024, 1},
+ {64 * 1024, 31},
+ },
+ .block_erase = block_erase_m29f400bt,
+ }, {
+ .eraseblocks = { {2048 * 1024, 1} },
+ .block_erase = block_erase_chip_m29f400bt,
+ },
+ },
+ .write = write_m29f400bt, /* Supports a fast mode too */
+ .read = read_memmapped,
+ .voltage = {3000, 3600}, /* 3.0-3.6V for type -70, others 2.7-3.6V */
+ },
+
+ {
+ .vendor = "Fujitsu",
+ .name = "MBM29LV160TE",
+ .bustype = BUS_PARALLEL,
+ .manufacture_id = FUJITSU_ID,
+ .model_id = FUJITSU_MBM29LV160TE,
+ .total_size = 2 * 1024,
+ .page_size = 0,
+ .feature_bits = FEATURE_ADDR_SHIFTED | FEATURE_SHORT_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_m29f400bt,
+ .probe_timing = TIMING_IGNORED,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = {
+ {64 * 1024, 31},
+ {32 * 1024, 1},
+ {8 * 1024, 2},
+ {16 * 1024, 1},
+ },
+ .block_erase = block_erase_m29f400bt,
+ }, {
+ .eraseblocks = { {2048 * 1024, 1} },
+ .block_erase = block_erase_chip_m29f400bt,
+ },
+ },
+ .write = write_m29f400bt, /* Supports a fast mode too */
+ .read = read_memmapped,
+ .voltage = {3000, 3600}, /* 3.0-3.6V for type -70, others 2.7-3.6V */
+ },
+
+ {
.vendor = "GigaDevice",
.name = "GD25LQ32",
.bustype = BUS_SPI,
diff --git a/flashchips.h b/flashchips.h
index e19d200..a876f25 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -332,6 +332,8 @@
#define FUJITSU_MBM29LV400TC 0xB9
#define FUJITSU_MBM29LV800BA 0x5B /* Same as MBM29LV800BE */
#define FUJITSU_MBM29LV800TA 0xDA /* Same as MBM29LV800TE */
+#define FUJITSU_MBM29LV160BE 0x49 /* 16 b mode 0x2249 */
+#define FUJITSU_MBM29LV160TE 0xC4 /* 16 b mode 0x22C4 */
#define GIGADEVICE_ID 0xC8 /* GigaDevice */
#define GIGADEVICE_GD25T80 0x3114