diff --git a/flash.h b/flash.h
index 6c735fb568232bc437ee9015767e821cf7e40391..0fde00e7a68c28dee2b824d9ff592bf3266e4280 100644
--- a/flash.h
+++ b/flash.h
@@ -33,6 +33,7 @@ struct flashchip {
 #define SST_39VF020       0xD6    /* SST 39SF020  device        */
 
 #define WINBOND_ID        0xDA	/* Winbond Manufacture ID code	*/
+#define W_29C011          0xC1	/* Winbond w29c011 device code*/
 #define W_29C020C         0x45	/* Winbond w29c020c device code*/
 #define W_49F002U         0x0B	/* Winbond w29c020c device code*/
 
diff --git a/flash_rom.c b/flash_rom.c
index 08841f6df873150f59821eceaaa9db50b8690eee..84c7661854559324c95da70ed06a9c932e24748c 100644
--- a/flash_rom.c
+++ b/flash_rom.c
@@ -53,6 +53,8 @@ struct flashchip flashchips[] = {
      probe_39sf020, erase_39sf020, write_39sf020},
     {"SST39VF020",  SST_ID,     SST_39VF020,  NULL, 256, 4096,
      probe_39sf020, erase_39sf020, write_39sf020},
+    {"W29C011",    WINBOND_ID, W_29C011,    NULL, 128, 128,
+     probe_jedec,   erase_jedec,   write_jedec},
     {"W29C020C",    WINBOND_ID, W_29C020C,    NULL, 256, 128,
      probe_jedec,   erase_jedec,   write_jedec},
     {"W49F002U",    WINBOND_ID, W_49F002U,    NULL, 256, 128,