Add or refine support for a number of EON flash chips

Fix the vendor ID of EN25B05, EN25B10, EN25B20, EN25B40, EN25B80,
EN25B16, EN25B32, EN25B64 EN25F40, EN25F80, EN25F16.

Add support for EN25P05, EN25P10, EN25P20, EN25P40, EN25P80, EN25P16,
EN25P32, EN25P64 EN25D16 EN25F05, EN25F10, EN25F20, EN25F32

Corresponding to flashrom svn r592.

Signed-off-by: Carl-Daniel Hailfinger <c-d.hailfinger.devel.2006@gmx.net>
Acked-by: Uwe Hermann <uwe@hermann-uwe.de>
diff --git a/flash.h b/flash.h
index ac0a837..61d430b 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 @@
  */
 #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 c668a5b..8dbad92 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -780,7 +780,7 @@
 		.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 @@
 		.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 @@
 		.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 @@
 		.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 @@
 		.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 @@
 		.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 @@
 		.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 @@
 		.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,
@@ -906,9 +906,73 @@
 
 	{
 		.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 @@
 		.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 @@
 		.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,
@@ -953,6 +1017,22 @@
 	},
 
 	{
+		.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",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,