[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