Index: flash.h
===================================================================
--- flash.h	(revision 2177)
+++ flash.h	(working copy)
@@ -55,6 +55,7 @@
 #define W_49F002U         0x0B	/* Winbond w29c020c device code */
 
 #define ST_ID       	  0x20
+#define ST_M29F040B       0xE2
 #define ST_M29F400BT      0xD5
 
 #define MSYSTEMS_ID       0x156f
Index: flashchips.c
===================================================================
--- flashchips.c	(revision 2177)
+++ flashchips.c	(working copy)
@@ -73,6 +73,8 @@
 	 probe_jedec, 	erase_chip_jedec, write_jedec,	NULL},
 	{"W49F002U", 	WINBOND_ID, 	W_49F002U,	NULL, 256, 128,
 	 probe_jedec,	erase_chip_jedec, write_49f002, NULL},
+	{"M29F040B",	ST_ID, 		ST_M29F040B,	NULL, 512, 64 * 1024,
+	 probe_29f040b, erase_29f040b,	write_29f040b,	NULL},
 	{"M29F400BT",	ST_ID,		ST_M29F400BT,	NULL, 512, 64 * 1024,
 	 probe_m29f400bt, erase_m29f400bt, write_linuxbios_m29f400bt, NULL},
 	{"82802ab",	137,		173,		NULL, 512, 64 * 1024,
