diff --git a/flash.h b/flash.h
index a41c660da20dfe5979a2c5c9b8e7cb164d6c03a1..41ca116ed6d64bf9872b9da741dfead75f3e2c99 100644
--- a/flash.h
+++ b/flash.h
@@ -117,6 +117,7 @@ extern struct flashchip flashchips[];
 
 #define AMIC_ID			0x7F37	/* AMIC */
 #define AMIC_ID_NOPREFIX	0x37	/* AMIC */
+#define AMIC_A25L40P		0x2013
 
 #define ASD_ID			0x25	/* ASD, not listed in JEP106W */
 #define ASD_AE49F2008		0x52
diff --git a/flashchips.c b/flashchips.c
index 4b618a1fbf2aebccc97cb1944cd169292a004aa9..146ea635b4d7f865bee748383162fa6de8a14fef 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -44,6 +44,7 @@ struct flashchip flashchips[] = {
 	{"Atmel",	"AT49F002(N)",		ATMEL_ID,	AT_49F002N,		256,	256,		TEST_UNTESTED,	probe_jedec,		erase_chip_jedec,		write_jedec},
 	{"Atmel",	"AT49F002(N)T",		ATMEL_ID,	AT_49F002NT,		256,	256,		TEST_UNTESTED,	probe_jedec,		erase_chip_jedec,		write_jedec},
 	{"Atmel",       "AT25DF321",		ATMEL_ID,	AT_25DF321,		4096,	256,		TEST_OK_PREW,	probe_spi_rdid,		spi_chip_erase_c7,	spi_chip_write,	spi_chip_read},
+	{"Amic Technology","A25L40P",		AMIC_ID,	AMIC_A25L40P,		512,	256,		TEST_UNTESTED,	probe_spi_rdid,		spi_chip_erase_c7,	spi_chip_write, spi_chip_read},
 	{"EMST",	"F49B002UA",		EMST_ID,	EMST_F49B002UA,		256,	4096,		TEST_UNTESTED,	probe_jedec,		erase_chip_jedec,		write_49f002},
 	{"EON",		"EN29F002(A)(N)B",	EON_ID,		EN_29F002B,		256,	256,		TEST_UNTESTED,	probe_jedec,		erase_chip_jedec,		write_jedec},
 	{"EON",		"EN29F002(A)(N)T",	EON_ID,		EN_29F002T,		256,	256,		TEST_UNTESTED,	probe_jedec,		erase_chip_jedec,		write_jedec},