diff --git a/flash.h b/flash.h index 8a6f766b55f8a9b0900804951e32091d692eb8b7..c487701a20438b8f9756eada0ac7e00c9192f05e 100644 --- a/flash.h +++ b/flash.h @@ -58,6 +58,7 @@ extern struct flashchip flashchips[]; #define W_49F002U 0x0B /* Winbond w29c020c device code */ #define ST_ID 0x20 +#define ST_M29F040B 0xE2 #define ST_M29F400BT 0xD5 #define MSYSTEMS_ID 0x156f diff --git a/flashchips.c b/flashchips.c index ba003bf19f867fca584f09cf189b8271775d6afc..f718e7b1404d6d5832b6e2ccbfcf5b783ce9bdf8 100644 --- a/flashchips.c +++ b/flashchips.c @@ -74,6 +74,8 @@ struct flashchip flashchips[] = { 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,