Add IDs for 51 new flash chips:
AMIC A29400T AMIC A29400U AMIC A29800T AMIC A29800U AMIC A29L004T AMIC A29L004U AMIC A29L008T AMIC A29L008U AMIC A29L040 Macronix MX29F004B Macronix MX29F004T Macronix MX29F022T Macronix MX29F080 Macronix MX29F800B Macronix MX29F800T Macronix MX29LV081 Spansion MBM29DL400BC Spansion MBM29DL400TC Spansion MBM29DL800BA Spansion MBM29DL800TA Spansion MBM29F002BC Spansion MBM29F002TC Spansion MBM29F040C Spansion MBM29F080A Spansion MBM29F200BC Spansion MBM29F200TC Spansion MBM29F800BA Spansion MBM29F800TA Spansion MBM29LV002BC Spansion MBM29LV002TC Spansion MBM29LV004BC Spansion MBM29LV004TC Spansion MBM29LV008BA Spansion MBM29LV008TA Spansion MBM29LV080A Spansion MBM29LV200BC Spansion MBM29LV200TC Spansion MBM29LV400BC Spansion MBM29LV400TC Spansion MBM29LV800BA Spansion MBM29LV800TA SST 49LF030A ST M29F080 ST M29F200BB ST M29F200BT ST M29F400BB ST M29F800DB ST M29F800DT Winbond W39L020 Winbond W39L040 Winbond W49F020
These still need to be added to flashchips.c, but if we ever encounter them in real life, the ID->name lookup will be a lot easier.
Signed-off-by: Carl-Daniel Hailfinger c-d.hailfinger.devel.2006@gmx.net
Index: flashrom-newids/flashchips.c =================================================================== --- flashrom-newids/flashchips.c (Revision 664) +++ flashrom-newids/flashchips.c (Arbeitskopie) @@ -1419,10 +1419,10 @@
{ .vendor = "Macronix", - .name = "MX29LV040C", + .name = "MX29LV040", .bustype = CHIP_BUSTYPE_PARALLEL, .manufacture_id = MX_ID, - .model_id = MX_29LV040C, + .model_id = MX_29LV040, .total_size = 512, .page_size = 64 * 1024, .tested = TEST_OK_PR, Index: flashrom-newids/flashchips.h =================================================================== --- flashrom-newids/flashchips.h (Revision 664) +++ flashrom-newids/flashchips.h (Arbeitskopie) @@ -54,6 +54,15 @@ #define AMIC_A29002B 0x0d #define AMIC_A29002T 0x8c #define AMIC_A29040B 0x86 +#define AMIC_A29400T 0xB0 /* Same as 294001T */ +#define AMIC_A29400U 0x31 /* Same as A294001U */ +#define AMIC_A29800T 0x0E +#define AMIC_A29800U 0x8F +#define AMIC_A29L004T 0x34 /* Same as A29L400T */ +#define AMIC_A29L004U 0xB5 /* Same as A29L400U */ +#define AMIC_A29L008T 0x1A /* Same as A29L800T */ +#define AMIC_A29L008U 0x9B /* Same as A29L800U */ +#define AMIC_A29L040 0x92 #define AMIC_A49LF040A 0x9d
/* This chip vendor/device ID is probably a misinterpreted LHA header. */ @@ -65,7 +74,7 @@ #define AT_25DF041A 0x4401 #define AT_25DF081 0x4502 #define AT_25DF161 0x4602 -#define AT_25DF321 0x4700 /* also 26DF321 */ +#define AT_25DF321 0x4700 /* Same as 26DF321 */ #define AT_25DF321A 0x4701 #define AT_25DF641 0x4800 #define AT_25F512A 0x65 /* Needs special RDID. AT25F512A_RDID 15 1d */ @@ -77,7 +86,7 @@ #define AT_26DF081A 0x4501 #define AT_26DF161 0x4600 #define AT_26DF161A 0x4601 -#define AT_26DF321 0x4700 /* also 25DF321 */ +#define AT_26DF321 0x4700 /* Same as 25DF321 */ #define AT_26F004 0x0400 #define AT_29C040A 0xA4 #define AT_29C010A 0xD5 @@ -129,14 +138,14 @@ */ #define EON_ID 0x7F1C /* EON Silicon Devices */ #define EON_ID_NOPREFIX 0x1C /* EON, missing 0x7F prefix */ -#define EN_25B05 0x2010 /* also P05, 2^19 kbit or 2^16 kByte */ -#define EN_25B10 0x2011 /* also P10 */ -#define EN_25B20 0x2012 /* also P20 */ -#define EN_25B40 0x2013 /* also P40 */ -#define EN_25B80 0x2014 /* also P80 */ -#define EN_25B16 0x2015 /* also P16 */ -#define EN_25B32 0x2016 /* also P32 */ -#define EN_25B64 0x2017 /* also P64 */ +#define EN_25B05 0x2010 /* Same as P05, 2^19 kbit or 2^16 kByte */ +#define EN_25B10 0x2011 /* Same as P10 */ +#define EN_25B20 0x2012 /* Same as P20 */ +#define EN_25B40 0x2013 /* Same as P40 */ +#define EN_25B80 0x2014 /* Same as P80 */ +#define EN_25B16 0x2015 /* Same as P16 */ +#define EN_25B32 0x2016 /* Same as P32 */ +#define EN_25B64 0x2017 /* Same as P64 */ #define EN_25D16 0x3015 #define EN_25F05 0x3110 #define EN_25F10 0x3111 @@ -150,14 +159,39 @@ #define EN_29F040A 0x7F04 #define EN_29LV010 0x7F6E #define EN_29LV040A 0x7F4F /* EN_29LV040(A) */ -#define EN_29F002T 0x7F92 /* Also EN29F002A */ -#define EN_29F002B 0x7F97 /* Also EN29F002AN */ +#define EN_29F002T 0x7F92 /* Same as EN29F002A */ +#define EN_29F002B 0x7F97 /* Same as EN29F002AN */
#define FUJITSU_ID 0x04 /* Fujitsu */ +#define MBM29DL400BC 0x0F +#define MBM29DL400TC 0x0C +#define MBM29DL800BA 0xCB +#define MBM29DL800TA 0x4A +#define MBM29F002BC 0x34 +#define MBM29F002TC 0xB0 +#define MBM29F004BC 0x7B +#define MBM29F004TC 0x77 +#define MBM29F040C 0xA4 +#define MBM29F080A 0xD5 +#define MBM29F200BC 0x57 +#define MBM29F200TC 0x51 #define MBM29F400BC 0xAB #define MBM29F400TC 0x23 -#define MBM29F004BC 0x7B -#define MBM29F004TC 0x77 +#define MBM29F800BA 0x58 +#define MBM29F800TA 0xD6 +#define MBM29LV002BC 0xC2 +#define MBM29LV002TC 0x40 +#define MBM29LV004BC 0xB6 +#define MBM29LV004TC 0xB5 +#define MBM29LV008BA 0x37 +#define MBM29LV008TA 0x3E +#define MBM29LV080A 0x38 +#define MBM29LV200BC 0xBF +#define MBM29LV200TC 0x3B +#define MBM29LV400BC 0xBA +#define MBM29LV400TC 0xB9 +#define MBM29LV800BA 0x5B /* Same as MBM29LV800BE */ +#define MBM29LV800TA 0xDA /* Same as MBM29LV800TE */
#define HYUNDAI_ID 0xAD /* Hyundai */
@@ -191,32 +225,39 @@ #define MX_25L12805 0x2018 /* MX25L12805 */ #define MX_25L1635D 0x2415 #define MX_25L3235D 0x5E16 /* MX25L3225D/MX25L3235D/MX25L3237D */ -#define MX_29F002B 0x34 -#define MX_29F002T 0xB0 +#define MX_29F002B 0x34 /* Same as MX29F002NB */ +#define MX_29F002T 0xB0 /* Same as MX29F002NT */ +#define MX_29F004B 0x46 +#define MX_29F004T 0x45 +#define MX_29F022T 0x36 /* Same as MX29F022NT */ +#define MX_29F040 0xA4 /* Same as MX29F040C */ +#define MX_29F080 0xD5 +#define MX_29F200B 0x57 /* Same as MX29F200CB */ +#define MX_29F200T 0x51 /* Same as MX29F200CT */ +#define MX_29F400B 0xAB /* Same as MX29F400CB */ +#define MX_29F400T 0x23 /* Same as MX29F400CT */ +#define MX_29F800B 0x58 +#define MX_29F800T 0xD6 #define MX_29LV002CB 0x5A #define MX_29LV002CT 0x59 -#define MX_29LV004CB 0xB6 -#define MX_29LV004CT 0xB5 -#define MX_29LV008CB 0x37 -#define MX_29LV008CT 0x3E -#define MX_29F040C 0xA4 -#define MX_29F200CB 0x57 -#define MX_29F200CT 0x51 -#define MX_29F400CB 0xAB -#define MX_29F400CT 0x23 -#define MX_29LV040C 0x4F +#define MX_29LV004B 0xB6 /* Same as MX29LV004CB */ +#define MX_29LV004T 0xB5 /* Same as MX29LV004CT */ +#define MX_29LV008B 0x37 /* Same as MX29LV008CB */ +#define MX_29LV008T 0x3E /* Same as MX29LV008CT */ +#define MX_29LV040 0x4F /* Same as MX29LV040C */ +#define MX_29LV081 0x38 #define MX_29LV128DB 0x7A #define MX_29LV128DT 0x7E #define MX_29LV160DB 0x49 /* Same as MX29LV161DB/MX29LV160CB */ #define MX_29LV160DT 0xC4 /* Same as MX29LV161DT/MX29LV160CT */ #define MX_29LV320DB 0xA8 /* Same as MX29LV321DB */ #define MX_29LV320DT 0xA7 /* Same as MX29LV321DT */ -#define MX_29LV400CB 0xBA -#define MX_29LV400CT 0xB9 -#define MX_29LV800CB 0x5B -#define MX_29LV800CT 0xDA +#define MX_29LV400B 0xBA /* Same as MX29LV400CB */ +#define MX_29LV400T 0xB9 /* Same as MX29LV400CT */ #define MX_29LV640DB 0xCB /* Same as MX29LV640EB */ #define MX_29LV640DT 0xC9 /* Same as MX29LV640ET */ +#define MX_29LV800B 0x5B /* Same as MX29LV800CB */ +#define MX_29LV800T 0xDA /* Same as MX29LV800CT */ #define MX_29SL402CB 0xF1 #define MX_29SL402CT 0x70 #define MX_29SL800CB 0x6B /* Same as MX29SL802CB */ @@ -237,7 +278,7 @@ #define PMC_29F002T 0x1D #define PMC_29F002B 0x2D #define PMC_39LV512 0x1B -#define PMC_39F010 0x1C /* also Pm39LV010 */ +#define PMC_39F010 0x1C /* Same as Pm39LV010 */ #define PMC_39LV020 0x3D #define PMC_39LV040 0x3E #define PMC_39F020 0x4D @@ -287,9 +328,9 @@ #define SST_28SF040 0x04 #define SST_29EE512 0x5D #define SST_29EE010 0x07 -#define SST_29LE010 0x08 /* also SST29VE010 */ -#define SST_29EE020A 0x10 /* also SST29EE020 */ -#define SST_29LE020 0x12 /* also SST29VE020 */ +#define SST_29LE010 0x08 /* Same as SST29VE010 */ +#define SST_29EE020A 0x10 /* Same as SST29EE020 */ +#define SST_29LE020 0x12 /* Same as SST29VE020 */ #define SST_29SF020 0x24 #define SST_29VF020 0x25 #define SST_29SF040 0x13 @@ -301,11 +342,12 @@ #define SST_39VF010 0xD5 #define SST_39VF020 0xD6 #define SST_39VF040 0xD7 -#define SST_39VF080 0xD8 +#define SST_39VF080 0xD8 /* Same as SST_39LF080/39VF080/39VF088 */ #define SST_49LF040B 0x50 #define SST_49LF040 0x51 #define SST_49LF020 0x61 #define SST_49LF020A 0x52 +#define SST_49LF030A 0x1C #define SST_49LF080A 0x5B #define SST_49LF002A 0x57 #define SST_49LF003A 0x1B @@ -349,8 +391,14 @@ #define ST_M50LPW116 0x30 #define ST_M29F002B 0x34 #define ST_M29F002T 0xB0 /* M29F002T / M29F002NT */ +#define ST_M29F040B 0xE2 +#define ST_M29F080 0xF1 +#define ST_M29F200BT 0xD3 +#define ST_M29F200BB 0xD4 #define ST_M29F400BT 0xD5 -#define ST_M29F040B 0xE2 +#define ST_M29F400BB 0xD6 +#define ST_M29F800DB 0x58 +#define ST_M29F800DT 0xEC #define ST_M29W010B 0x23 #define ST_M29W040B 0xE3
@@ -382,6 +430,8 @@ #define W_29C020C 0x45 #define W_29C040P 0x46 #define W_29EE011 0xC1 +#define W_39L020 0xB5 +#define W_39L040 0xB6 #define W_39V040FA 0x34 #define W_39V040A 0x3D #define W_39V040B 0x54 @@ -390,6 +440,7 @@ #define W_39V080FA 0xD3 #define W_39V080FA_DM 0x93 #define W_49F002U 0x0B +#define W_49F020 0x8C #define W_49V002A 0xB0 #define W_49V002FA 0x32