Add initial support for the following flash chips:

 - Atmel AT29C020
 - STMicroelectronics M29F002B
 - STMicroelectronics M29F002T
 - STMicroelectronics M29F002NT

Signed-off-by: Uwe Hermann <uwe@hermann-uwe.de>
Signed-off-by: Roger Zauner <roger@eskimo.com>
Acked-by: Peter Stuge <peter@stuge.se>


git-svn-id: svn://svn.coreboot.org/coreboot/trunk@2621 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
diff --git a/util/flashrom/README b/util/flashrom/README
index 2c83b43..9c96857 100644
--- a/util/flashrom/README
+++ b/util/flashrom/README
@@ -92,6 +92,7 @@
 AMD AM-29F016D
 ASD AE49F2008
 Atmel AT-29C040A
+Atmel AT-29C020
 EMST F49B002UA
 Intel 82802AB (Firmware Hub) 
 Intel 82802AC (Firmware Hub) 
@@ -118,6 +119,9 @@
 SST SST-49LF004C
 SST SST-49LF008C
 SST SST-49LF016C
+ST ST-M29F002B
+ST ST-M29F002T
+ST ST-M29F002NT
 ST ST-M29F400BT
 ST ST-M29F040B
 SyncMOS S29C51001T/B
diff --git a/util/flashrom/flash.h b/util/flashrom/flash.h
index b22227d..0d54c42 100644
--- a/util/flashrom/flash.h
+++ b/util/flashrom/flash.h
@@ -64,6 +64,7 @@
 
 #define ATMEL_ID		0x1F	/* Atmel */
 #define AT_29C040A		0xA4
+#define AT_29C020		0xDA
 
 #define MX_ID			0xC2	/* Macronix (MX) */
 #define MX_29F002		0xB0
@@ -106,8 +107,10 @@
 #define W_49V002FA		0x32
 
 #define ST_ID			0x20	/* ST */
-#define ST_M29F040B		0xE2
+#define ST_M29F002B		0x34
+#define ST_M29F002T		0xB0	/* M29F002T / M29F002NT */
 #define ST_M29F400BT		0xD5
+#define ST_M29F040B		0xE2
 
 #define EMST_ID			0x8c	/* EMST / EFST */
 #define EMST_F49B002UA		0x00
diff --git a/util/flashrom/flashchips.c b/util/flashrom/flashchips.c
index c4ae6f4..bf0a976 100644
--- a/util/flashrom/flashchips.c
+++ b/util/flashrom/flashchips.c
@@ -49,6 +49,8 @@
 	 probe_jedec,	erase_chip_jedec, write_jedec,	NULL},
 	{"At29C040A",	ATMEL_ID,	AT_29C040A,	NULL, 512, 256,
 	 probe_jedec,	erase_chip_jedec, write_jedec,	NULL},
+	{"At29C020",	ATMEL_ID,	AT_29C020,	NULL, 256, 256,
+	 probe_jedec,	erase_chip_jedec, write_jedec,	NULL},
 	{"Mx29f002",	MX_ID,		MX_29F002,	NULL, 256, 64 * 1024,
 	 probe_29f002,	erase_29f002, 	write_29f002,	NULL},
 	{"SST29EE020A", SST_ID,		SST_29EE020A,	NULL, 256, 128,
@@ -109,10 +111,14 @@
 	 probe_jedec,   erase_chip_jedec, write_39sf020, NULL},
 	{"W39V080A", 	WINBOND_ID, 	W_39V080A,	NULL, 1024, 64*1024,
 	 probe_jedec,	erase_chip_jedec, write_39sf020, NULL},
-	{"M29F040B",	ST_ID, 		ST_M29F040B,	NULL, 512, 64 * 1024,
-	 probe_29f040b, erase_29f040b,	write_29f040b,	NULL},
+	{"M29F002B",	ST_ID, 		ST_M29F002B,	NULL, 256, 64 * 1024,
+	 probe_jedec,	erase_chip_jedec, write_jedec,	NULL},
+	{"M29F002T/NT",	ST_ID, 		ST_M29F002T,	NULL, 256, 64 * 1024,
+	 probe_jedec,	erase_chip_jedec, write_jedec,	NULL},
 	{"M29F400BT",	ST_ID,		ST_M29F400BT,	NULL, 512, 64 * 1024,
 	 probe_m29f400bt, erase_m29f400bt, write_linuxbios_m29f400bt, NULL},
+	{"M29F040B",	ST_ID, 		ST_M29F040B,	NULL, 512, 64 * 1024,
+	 probe_29f040b, erase_29f040b,	write_29f040b,	NULL},
 	{"82802ab",	137,		173,		NULL, 512, 64 * 1024,
 	 probe_82802ab, erase_82802ab,	write_82802ab,	NULL},
 	{"82802ac",	137,		172,		NULL, 1024, 64 * 1024,