diff --git a/flash.h b/flash.h
index e03638727e534b6abf4b2b647e6148f06be17c00..ec28064f53f5b79caa0dcd5dadf8d4d9ed724fce 100644
--- a/flash.h
+++ b/flash.h
@@ -172,7 +172,15 @@ extern struct flashchip flashchips[];
  * byte of device ID is related to log(bitsize) at least for some chips.
  */
 #define ST_ID			0x20	/* ST */
+#define ST_M25P05A		0x2010
+#define ST_M25P10A		0x2011
+#define ST_M25P20		0x2012
+#define ST_M25P40		0x2013
 #define ST_M25P80		0x2014
+#define ST_M25P16		0x2015
+#define ST_M25P32		0x2016
+#define ST_M25P64		0x2017
+#define ST_M25P128		0x2018
 #define ST_M50FLW040A		0x08
 #define ST_M50FLW040B		0x28
 #define ST_M50FLW080A		0x80
diff --git a/flashchips.c b/flashchips.c
index f80ebd090f393fd7fd41497e9adbc9edbfba1c1b..44c9171d3f9507f755e49d9e7a4fc08cd40b5a7a 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -140,8 +140,24 @@ struct flashchip flashchips[] = {
 	 probe_jedec,	erase_chip_jedec,	write_jedec},
 	{"M29F040B",	ST_ID, 		ST_M29F040B,	512, 64 * 1024,
 	 probe_29f040b, erase_29f040b,	write_29f040b},
+	{"M25P05-A",	ST_ID,		ST_M25P05A,	64, 32 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P10-A",	ST_ID,		ST_M25P10A,	128, 32 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P20",	ST_ID,		ST_M25P20,	256, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P40",	ST_ID,		ST_M25P40,	512, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
 	{"M25P80",	ST_ID,		ST_M25P80,	1024, 64 * 1024,
 	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P16",	ST_ID,		ST_M25P16,	2048, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P32",	ST_ID,		ST_M25P32,	4096, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P64",	ST_ID,		ST_M25P64,	8192, 64 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
+	{"M25P128",	ST_ID,		ST_M25P128,	16384, 256 * 1024,
+	 probe_spi,	generic_spi_chip_erase_c7,	generic_spi_chip_write},
 	{"82802ab",	137,		173,		512, 64 * 1024,
 	 probe_82802ab, erase_82802ab,	write_82802ab},
 	{"82802ac",	137,		172,		1024, 64 * 1024,