diff --git a/flash.h b/flash.h
index ac0a8373b5b79a0b82a196ed6900f1ce5d791b6b..61d430b4d8925e68ee62ec1cd677201d9fee71e0 100644
--- a/flash.h
+++ b/flash.h
@@ -4,6 +4,7 @@
  * Copyright (C) 2000 Silicon Integrated System Corporation
  * Copyright (C) 2000 Ronald G. Minnich <rminnich@gmail.com>
  * Copyright (C) 2005-2007 coresystems GmbH <stepan@coresystems.de>
+ * Copyright (C) 2006-2009 Carl-Daniel Hailfinger
  *
  * This program is free software; you can redistribute it and/or modify
  * it under the terms of the GNU General Public License as published by
@@ -353,17 +354,22 @@ extern const struct board_info boards_bad[];
  */
 #define EON_ID			0x7F1C	/* EON Silicon Devices */
 #define EON_ID_NOPREFIX		0x1C	/* EON, missing 0x7F prefix */
-#define EN_25B05		0x2010	/* 2^19 kbit or 2^16 kByte */
-#define EN_25B10		0x2011
-#define EN_25B20		0x2012
-#define EN_25B40		0x2013
-#define EN_25B80		0x2014
-#define EN_25B16		0x2015
-#define EN_25B32		0x2016
-#define EN_25B64		0x2017
+#define EN_25B05		0x2010	/* also P05, 2^19 kbit or 2^16 kByte */
+#define EN_25B10		0x2011	/* also P10 */
+#define EN_25B20		0x2012	/* also P20 */
+#define EN_25B40		0x2013	/* also P40 */
+#define EN_25B80		0x2014	/* also P80 */
+#define EN_25B16		0x2015	/* also P16 */
+#define EN_25B32		0x2016	/* also P32 */
+#define EN_25B64		0x2017	/* also P64 */
+#define EN_25D16		0x3015
+#define EN_25F05		0x3110
+#define EN_25F10		0x3111
+#define EN_25F20		0x3112
 #define EN_25F40		0x3113
 #define EN_25F80		0x3114
 #define EN_25F16		0x3115
+#define EN_25F32		0x3116
 #define EN_29F512		0x7F21
 #define EN_29F010		0x7F20
 #define EN_29F040A		0x7F04
diff --git a/flashchips.c b/flashchips.c
index c668a5b2b3200b7af9166b2daa1a425dad400136..8dbad9294d9837826f5a57ac34e9b9cc0040a0eb 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -780,7 +780,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B05",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B05,
 		.total_size	= 64,
 		.page_size	= 256,
@@ -796,7 +796,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B10",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B10,
 		.total_size	= 128,
 		.page_size	= 256,
@@ -812,7 +812,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B20",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B20,
 		.total_size	= 256,
 		.page_size	= 256,
@@ -828,7 +828,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B40",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B40,
 		.total_size	= 512,
 		.page_size	= 256,
@@ -844,7 +844,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B80",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B80,
 		.total_size	= 1024,
 		.page_size	= 256,
@@ -860,7 +860,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B16",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B16,
 		.total_size	= 2048,
 		.page_size	= 256,
@@ -876,7 +876,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B32",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B32,
 		.total_size	= 4096,
 		.page_size	= 256,
@@ -892,7 +892,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25B64",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25B64,
 		.total_size	= 8192,
 		.page_size	= 256,
@@ -904,11 +904,75 @@ struct flashchip flashchips[] = {
 		.read		= spi_chip_read,
 	},
 
+	{
+		.vendor		= "Eon",
+		.name		= "EN25D16",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= EON_ID_NOPREFIX,
+		.model_id	= EN_25D16,
+		.total_size	= 2048,
+		.page_size	= 256,
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.erase		= spi_chip_erase_60_c7,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+	},
+
+	{
+		.vendor		= "Eon",
+		.name		= "EN25F05",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= EON_ID_NOPREFIX,
+		.model_id	= EN_25F05,
+		.total_size	= 64,
+		.page_size	= 256,
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.erase		= spi_chip_erase_60_c7,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+	},
+
+	{
+		.vendor		= "Eon",
+		.name		= "EN25F10",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= EON_ID_NOPREFIX,
+		.model_id	= EN_25F10,
+		.total_size	= 128,
+		.page_size	= 256,
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.erase		= spi_chip_erase_60_c7,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+	},
+
+	{
+		.vendor		= "Eon",
+		.name		= "EN25F20",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= EON_ID_NOPREFIX,
+		.model_id	= EN_25F20,
+		.total_size	= 256,
+		.page_size	= 256,
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.erase		= spi_chip_erase_60_c7,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+	},
+
 	{
 		.vendor		= "Eon",
 		.name		= "EN25F40",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25F40,
 		.total_size	= 512,
 		.page_size	= 256,
@@ -924,7 +988,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25F80",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25F80,
 		.total_size	= 1024,
 		.page_size	= 256,
@@ -940,7 +1004,7 @@ struct flashchip flashchips[] = {
 		.vendor		= "Eon",
 		.name		= "EN25F16",
 		.bustype	= CHIP_BUSTYPE_SPI,
-		.manufacture_id	= EON_ID,
+		.manufacture_id	= EON_ID_NOPREFIX,
 		.model_id	= EN_25F16,
 		.total_size	= 2048,
 		.page_size	= 256,
@@ -952,6 +1016,22 @@ struct flashchip flashchips[] = {
 		.read		= spi_chip_read,
 	},
 
+	{
+		.vendor		= "Eon",
+		.name		= "EN25F32",
+		.bustype	= CHIP_BUSTYPE_SPI,
+		.manufacture_id	= EON_ID_NOPREFIX,
+		.model_id	= EN_25F32,
+		.total_size	= 4096,
+		.page_size	= 256,
+		.tested		= TEST_UNTESTED,
+		.probe		= probe_spi_rdid,
+		.probe_timing	= TIMING_ZERO,
+		.erase		= spi_chip_erase_60_c7,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+	},
+
 	{
 		.vendor		= "EON",
 		.name		= "EN29F002(A)(N)B",