summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoshua Roys <roysjosh@gmail.com>2010-09-16 00:51:51 +0000
committerMattias Mattsson <vitplister@gmail.com>2010-09-16 00:51:51 +0000
commitf1324e006349164cdf49d18c04af3e6088910d4e (patch)
tree07a705355fb8f49c9cc4a0bebf2c9a54a424cc3c
parent6eabe282fe54a69df92f0e8cf3c251c9165202eb (diff)
downloadast2050-flashrom-f1324e006349164cdf49d18c04af3e6088910d4e.zip
ast2050-flashrom-f1324e006349164cdf49d18c04af3e6088910d4e.tar.gz
Add chip definitions for the folowing chips
Bright BM29F040 Hyundai HY29F040A Macronix MX29F040 Also add chip IDs for Bright BM29F400T/B Datasheets: http://www.ezoflash.com/datasheets/flash/Winbond/BM29F040.pdf http://www.ezoflash.com/datasheets/flash/Hyundai/HY29F040A.pdf http://www.ezoflash.com/datasheets/flash/Macronix/MX29F040.pdf http://www.ezoflash.com/datasheets/flash/Winbond/BM29F400T_B.pdf Bright BM29F040 probe/read test report: http://www.flashrom.org/pipermail/flashrom/2010-September/004805.html Corresponding to flashrom svn r1176. Signed-off-by: Joshua Roys <roysjosh@gmail.com> Acked-by: Mattias Mattsson <vitplister@gmail.com>
-rw-r--r--flashchips.c78
-rw-r--r--flashchips.h6
2 files changed, 84 insertions, 0 deletions
diff --git a/flashchips.c b/flashchips.c
index 482f02a..946e4fc 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -1962,6 +1962,32 @@ struct flashchip flashchips[] = {
},
{
+ .vendor = "Bright",
+ .name = "BM29F040",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = BRIGHT_ID,
+ .model_id = BRIGHT_BM29F040,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_EITHER_RESET,
+ .tested = TEST_OK_PR,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ },
+
+ {
.vendor = "EMST",
.name = "F49B002UA",
.bustype = CHIP_BUSTYPE_PARALLEL,
@@ -3085,6 +3111,32 @@ struct flashchip flashchips[] = {
},
{
+ .vendor = "Hyundai",
+ .name = "HY29F040A",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = HYUNDAI_ID,
+ .model_id = HYUNDAI_HY29F040A,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_EITHER_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ },
+
+ {
.vendor = "Intel",
.name = "28F001BX-B",
.bustype = CHIP_BUSTYPE_PARALLEL,
@@ -3883,6 +3935,32 @@ struct flashchip flashchips[] = {
{
.vendor = "Macronix",
+ .name = "MX29F040",
+ .bustype = CHIP_BUSTYPE_PARALLEL,
+ .manufacture_id = MACRONIX_ID,
+ .model_id = MACRONIX_MX29F040,
+ .total_size = 512,
+ .page_size = 64 * 1024,
+ .feature_bits = FEATURE_ADDR_2AA | FEATURE_SHORT_RESET,
+ .tested = TEST_UNTESTED,
+ .probe = probe_jedec,
+ .probe_timing = TIMING_ZERO,
+ .block_erasers =
+ {
+ {
+ .eraseblocks = { {64 * 1024, 8} },
+ .block_erase = erase_sector_jedec,
+ }, {
+ .eraseblocks = { {512 * 1024, 1} },
+ .block_erase = erase_chip_block_jedec,
+ },
+ },
+ .write = write_jedec_1,
+ .read = read_memmapped,
+ },
+
+ {
+ .vendor = "Macronix",
.name = "MX29LV040",
.bustype = CHIP_BUSTYPE_PARALLEL,
.manufacture_id = MACRONIX_ID,
diff --git a/flashchips.h b/flashchips.h
index f2e1a0d..56d715d 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -171,6 +171,12 @@
#define ATMEL_AT49F002N 0x07 /* for AT49F002(N) */
#define ATMEL_AT49F002NT 0x08 /* for AT49F002(N)T */
+/* Bright Microelectronics has the same manufacturer ID as Hyundai... */
+#define BRIGHT_ID 0xAD /* Bright Microelectronics */
+#define BRIGHT_BM29F040 0x40
+#define BRIGHT_BM29F400B 0xAB
+#define BRIGHT_BM29F400T 0xAD
+
#define CATALYST_ID 0x31 /* Catalyst */
#define EMST_ID 0x8C /* EMST / EFST Elite Flash Storage */
OpenPOWER on IntegriCloud