summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Thienemann <andreas@bawue.net>2008-07-06 17:35:30 +0000
committerPeter Stuge <peter@stuge.se>2008-07-06 17:35:30 +0000
commitce17f6bdb07e9348b6f6dda156e4a0edce8f12eb (patch)
treec89a1e90935de00a25319f5587fccce8fa5b5827
parent3c75baea46f0037f1526a19cb5d75413e7d8a2f2 (diff)
flashrom: Add AMIC A29002
This patch adds support to the AMIC A29002 chip in its top and bottom configuration to flashrom. Additionally, the alphabetic order of the AMIC chips was fixed. The datasheet is at <http://www.amictechnology.com/pdf/A29002.pdf>. A29002T PREW functionality was tested and works. This flash chip has asymmetric sector layout so it is important to use the mx29f002 driver, which does chip erase before writing, rather than am29f040b, which uses sector erase. Signed-off-by: Andreas Thienemann <andreas@bawue.net> Acked-by: Peter Stuge <peter@stuge.se> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@3415 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
-rw-r--r--util/flashrom/flash.h1
-rw-r--r--util/flashrom/flashchips.c4
2 files changed, 3 insertions, 2 deletions
diff --git a/util/flashrom/flash.h b/util/flashrom/flash.h
index edd507f0c9..6910921c5e 100644
--- a/util/flashrom/flash.h
+++ b/util/flashrom/flash.h
@@ -119,7 +119,6 @@ extern struct flashchip flashchips[];
#define AMIC_ID 0x7F37 /* AMIC */
#define AMIC_ID_NOPREFIX 0x37 /* AMIC */
#define AMIC_A25L40P 0x2013
-#define AMIC_A29040B 0x86
#define AMIC_A49LF040A 0x9d
#define ASD_ID 0x25 /* ASD, not listed in JEP106W */
diff --git a/util/flashrom/flashchips.c b/util/flashrom/flashchips.c
index 389a309a59..2845a02378 100644
--- a/util/flashrom/flashchips.c
+++ b/util/flashrom/flashchips.c
@@ -42,8 +42,10 @@ struct flashchip flashchips[] = {
{"Atmel", "AT49F002(N)T", ATMEL_ID, AT_49F002NT, 256, 256, TEST_UNTESTED, probe_jedec, erase_chip_jedec, write_jedec},
{"Atmel", "AT25DF321", ATMEL_ID, AT_25DF321, 4096, 256, TEST_OK_PREW, probe_spi_rdid, spi_chip_erase_c7, spi_chip_write, spi_chip_read},
{"AMIC", "A25L40P", AMIC_ID, AMIC_A25L40P, 512, 256, TEST_OK_PREW, probe_spi_rdid4, spi_chip_erase_c7, spi_chip_write, spi_chip_read},
+ {"AMIC", "A29002B", 0x37, 0x0d, 256, 64 * 1024, TEST_UNTESTED, probe_29f002, erase_29f002, write_29f002},
+ {"AMIC", "A29002T", 0x37, 0x8c, 256, 64 * 1024, TEST_OK_PREW, probe_29f002, erase_29f002, write_29f002},
+ {"AMIC", "A29040B", 0x37, 0x86, 512, 64 * 1024, TEST_OK_PR, probe_29f040b, erase_29f040b, write_29f040b},
{"AMIC", "A49LF040A", AMIC_ID_NOPREFIX, AMIC_A49LF040A, 512, 64 * 1024, TEST_OK_PREW, probe_49fl00x, erase_49fl00x, write_49fl00x},
- {"AMIC", "A29040B", AMIC_ID_NOPREFIX, AMIC_A29040B, 512, 64 * 1024, TEST_OK_PR, probe_29f040b, erase_29f040b, write_29f040b},
{"EMST", "F49B002UA", EMST_ID, EMST_F49B002UA, 256, 4096, TEST_UNTESTED, probe_jedec, erase_chip_jedec, write_49f002},
{"EON", "EN29F002(A)(N)B", EON_ID, EN_29F002B, 256, 256, TEST_UNTESTED, probe_jedec, erase_chip_jedec, write_jedec},
{"EON", "EN29F002(A)(N)T", EON_ID, EN_29F002T, 256, 256, TEST_UNTESTED, probe_jedec, erase_chip_jedec, write_jedec},