Author: stuge Date: 2008-07-06 19:35:30 +0200 (Sun, 06 Jul 2008) New Revision: 3415
Modified: trunk/util/flashrom/flash.h trunk/util/flashrom/flashchips.c Log: 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
Modified: trunk/util/flashrom/flash.h =================================================================== --- trunk/util/flashrom/flash.h 2008-07-05 09:48:30 UTC (rev 3414) +++ trunk/util/flashrom/flash.h 2008-07-06 17:35:30 UTC (rev 3415) @@ -119,7 +119,6 @@ #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 */
Modified: trunk/util/flashrom/flashchips.c =================================================================== --- trunk/util/flashrom/flashchips.c 2008-07-05 09:48:30 UTC (rev 3414) +++ trunk/util/flashrom/flashchips.c 2008-07-06 17:35:30 UTC (rev 3415) @@ -42,8 +42,10 @@ {"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},