[flashrom] [PATCH] New chip IDs

Carl-Daniel Hailfinger c-d.hailfinger.devel.2006 at gmx.net
Wed Sep 15 02:46:51 CEST 2010


Sorry for the totally meaningless subject. I wanted to get the current
state of one of my ID-collection trees out there. Maybe someone finds it
useful. The patch is WIP, but hey... if parts of it are mergeable, even
better.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006 at gmx.net>

Index: flashrom-newchips/flashchips.c
===================================================================
--- flashrom-newchips/flashchips.c	(Revision 1171)
+++ flashrom-newchips/flashchips.c	(Arbeitskopie)
@@ -1335,6 +1335,8 @@
 		.read		= spi_chip_read,
 	},
 
+/* The AT25F512, AT25F1024 and AT25F2048 apparently support a 0x62 chip erase? */
+
 	{
 		.vendor		= "Atmel",
 		.name		= "AT25F512B",
Index: flashrom-newchips/flashchips.h
===================================================================
--- flashrom-newchips/flashchips.h	(Revision 1171)
+++ flashrom-newchips/flashchips.h	(Arbeitskopie)
@@ -58,12 +58,15 @@
 #define AM_29F400BT		0x23
 #define AM_29F800BB		0x58
 #define AM_29F800BT		0xD6
+#define AMD_AM29LV001B		0x6D
+#define AMD_AM29LV001T		0xED
 #define AM_29LV002BB		0xC2
 #define AM_29LV002BT		0x40
 #define AM_29LV004BB		0xB6
 #define AM_29LV004BT		0xB5
 #define AM_29LV008BB		0x37
 #define AM_29LV008BT		0x3E
+#define AMD_AM29LV010		0x6E
 #define AM_29LV040B		0x4F
 #define AM_29LV080B		0x38	/* Same as Am29LV081B */
 #define AM_29LV200BB		0xBF
@@ -121,14 +124,21 @@
 #define AT_25DF641		0x4800
 #define AT_25DQ161		0x8600
 #define AT25F512		/* No device ID found in datasheet. Vendor ID
-				 * can be read with AT25F512A_RDID */
+				 * can be read with AT25F512A_RDID.
+				 * ID is 0x65???
+				 */
 #define AT_25F512A		0x65 /* Needs AT25F512A_RDID */
 #define AT_25F512B		0x6500
 #define AT25F1024		/* No device ID found in datasheet. Vendor ID
-				 * can be read with AT25F512A_RDID */
+				 * can be read with AT25F512A_RDID.
+				 * ID is 0x60 or 0x40???
+				 */
 #define AT_25F1024A		0x60 /* Needs AT25F512A_RDID */
+#define ATMEL_AT25F2048		0x63 /* Special RDID */
 #define AT_25FS010		0x6601
 #define AT_25FS040		0x6604
+#define ATMEL_AT25DF021		0x4300
+#define ATMEL_AT25DF041		0x4401
 #define AT_26DF041		0x4400
 #define AT_26DF081		0x4500	/* guessed, no datasheet available */
 #define AT_26DF081A		0x4501
@@ -136,6 +146,8 @@
 #define AT_26DF161A		0x4601
 #define AT_26DF321		0x4700	/* Same as 25DF321 */
 #define AT_26F004		0x0400
+#define ATMEL_AT29LV512		0x3D
+#define ATMEL_AT29LV010A	0x35	/* Same as AT29BV010A? */
 #define AT_29C040A		0xA4
 #define AT_29C010A		0xD5	
 #define AT_29C020		0xDA
@@ -166,7 +178,11 @@
 #define AT_45DB321D		0x2701 /* Buggy data sheet */
 #define AT_45DB642		/* No ID available */
 #define AT_45DB642D		0x2800
-#define AT_49BV512		0x03
+#define AT_49BV512		0x03	/* Same as AT49F512? */
+#define ATMEL_AT49F001		0x05
+#define ATMEL_AT49F001T		0x04
+#define ATMEL_AT49F010		0x87
+#define ATMEL_AT49LV010		0x17	/* Same as AT49BV010? */
 #define AT_49F020		0x0B
 #define AT_49F002N		0x07	/* for AT49F002(N)  */
 #define AT_49F002NT		0x08	/* for AT49F002(N)T */
@@ -360,6 +376,7 @@
  */
 #define PMC_ID			0x7F9D	/* PMC */
 #define PMC_ID_NOPREFIX		0x9D	/* PMC, missing 0x7F prefix */
+#define PMC_PM25LD512		0x20	/* Uses PMC_ID instead of the usual PMC_ID_NOPREFIX */
 #define PMC_25LV512		0x7B
 #define PMC_25LV010		0x7C
 #define PMC_25LV020		0x7D
@@ -412,9 +429,9 @@
 #define SST_25WF010		0x2502
 #define SST_25WF020		0x2503
 #define SST_25WF040		0x2504
-#define SST_25VF512A_REMS	0x48	/* REMS or RES opcode */
+#define SST_25VF512A_REMS	0x48	/* REMS or RES opcode, also SST25VF512? */
 #define SST_25VF010_REMS	0x49	/* REMS or RES opcode */
-#define SST_25VF020_REMS	0x43	/* REMS or RES opcode */
+#define SST_25VF020_REMS	0x43	/* REMS or RES opcode, also SST25LF020? */
 #define SST_25VF040_REMS	0x44	/* REMS or RES opcode, same as SST25LF040A */
 #define SST_25VF040B		0x258D
 #define SST_25VF040B_REMS	0x8D	/* REMS or RES opcode */
@@ -434,6 +451,7 @@
 #define SST_27VF020		0xAA
 #define SST_28SF040		0x04
 #define SST_29EE512		0x5D
+#define SST_29LE512		0x3D	/* Same as SST29VE512 */
 #define SST_29EE010		0x07
 #define SST_29LE010		0x08	/* Same as SST29VE010 */
 #define SST_29EE020A		0x10	/* Same as SST29EE020 */
@@ -451,6 +469,7 @@
 #define SST_39VF020		0xD6	/* Same as 39LF020 */
 #define SST_39VF040		0xD7	/* Same as 39LF040 */
 #define SST_39VF080		0xD8	/* Same as 39LF080/39VF080/39VF088 */
+#define SST_45VF010		0x42	/* FIXME */
 #define SST_49LF040B		0x50
 #define SST_49LF040		0x51
 #define SST_49LF020		0x61
@@ -469,10 +488,11 @@
 /*
  * ST25P chips are SPI, first byte of device ID is memory type, second
  * byte of device ID is related to log(bitsize) at least for some chips.
+ * ST is now called Numonyx.
  */
 #define ST_ID			0x20	/* ST / SGS/Thomson */
 #define ST_M25P05A		0x2010
-#define ST_M25P05_RES		0x10	/* Same code as M25P10. */
+#define ST_M25P05_RES		0x10	/* Same code as M25P10. Datasheet error? Should be 0x05? */
 #define ST_M25P10A		0x2011
 #define ST_M25P10_RES		0x10	/* Same code as M25P05. */
 #define ST_M25P20		0x2012
@@ -530,6 +550,9 @@
 #define SM_MVC_29C51002B	0xA2	/* Identical chips: {F,S,V}29C51002B */
 #define SM_MVC_29C51004B	0xA3	/* Identical chips: {F,S,V}29C51004B */
 
+#define TENX_ID_NOPREFIX	0x5E	/* Tenx Technologies, 0x7F7F5E */
+#define TENX_ICE25P05		0x01	/* Maybe? */
+
 #define TI_ID			0x97	/* Texas Instruments */
 #define TI_OLD_ID		0x01	/* TI chips from last century */
 #define TI_TMS29F002RT		0xB0
@@ -540,10 +563,10 @@
  * byte of device ID is related to log(bitsize).
  */
 #define WINBOND_NEX_ID		0xEF	/* Winbond (ex Nexcom) serial flashes */
-#define WINBOND_NEX_W25X10	0x3011
-#define WINBOND_NEX_W25X20	0x3012
-#define WINBOND_NEX_W25X40	0x3013
-#define WINBOND_NEX_W25X80	0x3014
+#define WINBOND_NEX_W25X10	0x3011	/* W25X10A? */
+#define WINBOND_NEX_W25X20	0x3012	/* W25X20A? */
+#define WINBOND_NEX_W25X40	0x3013	/* W25X40A? */
+#define WINBOND_NEX_W25X80	0x3014	/* W25X80A? */
 #define WINBOND_NEX_W25X16	0x3015
 #define WINBOND_NEX_W25X32	0x3016
 #define WINBOND_NEX_W25X64	0x3017
@@ -565,7 +588,7 @@
 #define WINBOND_W19B323MT	0x13
 #define WINBOND_W19B324MB	0x97
 #define WINBOND_W19B324MT	0x16
-#define WINBOND_W29C010		0xC1    /* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 */
+#define WINBOND_W29C010		0xC1    /* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 (is there a W29C011?) */
 #define WINBOND_W29C020		0x45    /* Same as W29C020C, W29C022 and ASD AE29F2008 */
 #define WINBOND_W29C040		0x46    /* Same as W29C040P */
 #define WINBOND_W29C512A	0xC8    /* Same as W29EE512 */


-- 
http://www.hailfinger.org/





More information about the flashrom mailing list