Index: flash.h
===================================================================
--- flash.h	(revision 1285)
+++ flash.h	(working copy)
@@ -138,6 +138,10 @@
 	int (*unlock) (struct flashchip *flash);
 	int (*write) (struct flashchip *flash, uint8_t *buf, int start, int len);
 	int (*read) (struct flashchip *flash, uint8_t *buf, int start, int len);
+	struct {
+		uint8_t min;
+		uint8_t max;
+	}voltage;
 
 	/* Some flash devices have an additional register space. */
 	chipaddr virtual_memory;
Index: flashchips.c
===================================================================
--- flashchips.c	(revision 1285)
+++ flashchips.c	(working copy)
@@ -54,6 +54,7 @@
 	 * .unlock		= Chip unlock function
 	 * .write		= Chip write function
 	 * .read		= Chip read function
+	 * .voltage		= Voltage min and max range in decivolt
 	 */
 
 	{
@@ -80,6 +81,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -111,6 +113,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {475, 525}, /*-55 speed is +-5%, all others +-10% */
 	},
 
 	{
@@ -168,6 +171,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -194,6 +198,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -220,6 +225,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -492,6 +498,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -518,6 +525,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -549,6 +557,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -612,6 +621,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -644,6 +654,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -676,6 +687,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -708,6 +720,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	/* The A25L40P{T,U} chips are distinguished by their
@@ -745,6 +758,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -777,6 +791,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -809,6 +824,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -844,6 +860,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -879,6 +896,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -909,6 +927,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -939,6 +958,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -969,6 +989,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -999,6 +1020,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1029,6 +1051,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1059,6 +1082,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1095,6 +1119,7 @@
 		.unlock		= NULL, /* Two status reg bytes (read with 0x35 and 0x05) */
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1131,6 +1156,7 @@
 		.unlock		= NULL, /* Two status reg bytes (read with 0x35 and 0x05) */
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1162,6 +1188,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1193,6 +1220,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1219,6 +1247,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1246,6 +1275,7 @@
 		.unlock		= unlock_49fl00x,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -1283,6 +1313,7 @@
 		.unlock		= spi_disable_blockprotect_at25df,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {23, 36}, /* Datasheet says 2.3-3.6V or 2.7-3.6V */
 	},
 
 	{
@@ -1320,6 +1351,7 @@
 		.unlock		= spi_disable_blockprotect_at25df,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {23, 36}, /* Datasheet says 2.3-3.6V or 2.7-3.6V */
 	},
 
 	{
@@ -1357,6 +1389,7 @@
 		.unlock		= spi_disable_blockprotect_at25df,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {16, 20}, /* Datasheet says range is 1.65-1.95 V */
 	},
 
 	{
@@ -1431,6 +1464,7 @@
 		.unlock		= spi_disable_blockprotect_at25df_sec,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1468,6 +1502,7 @@
 		.unlock		= spi_disable_blockprotect_at25df,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1505,6 +1540,7 @@
 		.unlock		= spi_disable_blockprotect_at25df_sec,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1542,6 +1578,7 @@
 		.unlock		= spi_disable_blockprotect_at25df_sec,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1579,6 +1616,7 @@
 		.unlock		= spi_disable_blockprotect_at25df_sec,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1616,6 +1654,7 @@
 		.unlock		= spi_disable_blockprotect_at25f,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1655,6 +1694,7 @@
 		.unlock		= spi_disable_blockprotect_at25fs010,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1691,6 +1731,7 @@
 		.unlock		= spi_disable_blockprotect_at25fs040,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1713,6 +1754,7 @@
 		},
 		.write		= NULL /* Incompatible Page write */,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36}, /* Datasheet says 3.0-3.6 V or 2.7-3.6 V */
 	},
 
 	{
@@ -1749,6 +1791,7 @@
 		.unlock		= spi_disable_blockprotect_at25df,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1784,6 +1827,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1819,6 +1863,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	/*The AT26DF321 has the same ID as the AT25DF321. */
@@ -1870,6 +1915,7 @@
 		},
 		.write		= NULL /* Incompatible Page write */,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1893,6 +1939,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 
 	},
 
@@ -1917,6 +1964,7 @@
 		},
 		.write		= write_jedec,	/* FIXME */
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1940,6 +1988,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1963,6 +2012,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -1978,6 +2028,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL /* Incompatible Page write */,
 		.read		= NULL /* Incompatible read */,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -1993,6 +2044,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2008,6 +2060,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2023,6 +2076,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {25, 36}, /* Datasheet says 2.5-3.6 V or 2.7-3.6 V */
 	},
 
 	{
@@ -2038,6 +2092,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {25, 36}, /* Datasheet says 2.5-3.6 V or 2.7-3.6 V */
 	},
 
 	{
@@ -2053,6 +2108,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {25, 36}, /* Datasheet says 2.5-3.6 V or 2.7-3.6 V */
 	},
 
 	{
@@ -2068,6 +2124,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL /* Incompatible read */,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2083,6 +2140,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2098,6 +2156,7 @@
 		.probe_timing	= TIMING_ZERO,
 		.write		= NULL,
 		.read		= NULL,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2121,6 +2180,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2144,6 +2204,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -2175,6 +2236,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -2206,6 +2268,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -2263,6 +2326,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -2295,6 +2359,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2326,6 +2391,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2357,6 +2423,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2388,6 +2455,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2419,6 +2487,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2451,6 +2520,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2483,6 +2553,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2515,6 +2586,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2547,6 +2619,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2579,6 +2652,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2611,6 +2685,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2643,6 +2718,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2675,6 +2751,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2707,6 +2784,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2739,6 +2817,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2772,6 +2851,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2804,6 +2884,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2839,6 +2920,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2875,6 +2957,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2911,6 +2994,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2947,6 +3031,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -2980,6 +3065,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3013,6 +3099,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3046,6 +3133,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3079,6 +3167,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3106,6 +3195,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3137,6 +3227,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3168,6 +3259,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3199,6 +3291,7 @@
 		},
 		.write		= NULL,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3230,6 +3323,7 @@
 		},
 		.write		= NULL,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3262,6 +3356,7 @@
 		},
 		.write		= write_m29f400bt,
 		.read		= read_memmapped,
+		.voltage	= {475, 525}, /*5.0V +-5% for -55 model, +-10% for rest */
 	},
 
 	{
@@ -3293,6 +3388,7 @@
 		},
 		.write		= write_m29f400bt,
 		.read		= read_memmapped,
+		.voltage	= {475, 525}, /* 5.0V +-5% for -55 model, +-10% for rest */
 	},
 
 	{
@@ -3324,6 +3420,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {475, 525}, /* 5.0V +-5% for -45 model, +-10% for rest */
 	},
 
 	{
@@ -3355,6 +3452,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {475, 525}, /* 5.0V +-5% for -45 model, +-10% for rest */
 	},
 
 	{
@@ -3407,6 +3505,7 @@
 		},
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3433,6 +3532,7 @@
 		},
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -3460,6 +3560,7 @@
 		},
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {45, 55} /*5.0V +-10% read, 12V fast program & erase- +-5% standard, +-10% option */ 
 	},
 
 	{
@@ -3617,6 +3718,7 @@
 		.unlock		= unlock_82802ab,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -3641,6 +3743,7 @@
 		.unlock		= unlock_82802ab,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -3677,6 +3780,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3710,6 +3814,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3746,6 +3851,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3782,6 +3888,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3818,6 +3925,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3854,6 +3962,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3887,6 +3996,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3953,6 +4063,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -3986,6 +4097,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4019,6 +4131,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4052,6 +4165,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4084,6 +4198,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4116,6 +4231,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4147,6 +4263,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4178,6 +4295,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4230,6 +4348,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4256,6 +4375,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4282,6 +4402,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4308,6 +4429,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4334,6 +4456,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4360,6 +4483,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4386,6 +4510,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4412,6 +4537,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4441,6 +4567,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4470,6 +4597,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4499,6 +4627,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4528,6 +4657,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4557,6 +4687,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4586,6 +4717,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4650,6 +4782,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4679,6 +4812,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4714,6 +4848,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4774,6 +4909,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4805,6 +4941,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -4834,6 +4971,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4863,6 +5001,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -4892,6 +5031,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 	
 	{
@@ -4922,6 +5062,7 @@
 		.unlock		= unlock_49fl00x,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -4952,6 +5093,7 @@
 		.unlock		= unlock_49fl00x,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5010,6 +5152,7 @@
 		.unlock		= unlock_82802ab,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5062,6 +5205,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5088,6 +5232,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5204,6 +5349,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5239,6 +5385,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_aai_write,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5274,6 +5421,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5338,6 +5486,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5437,6 +5586,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5464,6 +5614,7 @@
 		.unlock		= unprotect_28sf040,
 		.write		= write_28sf040,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5487,6 +5638,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5510,6 +5662,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5533,6 +5686,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5556,6 +5710,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5582,6 +5737,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5608,6 +5764,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5634,6 +5791,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5660,6 +5818,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -5686,6 +5845,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5712,6 +5872,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5738,6 +5899,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5764,6 +5926,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5793,6 +5956,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -5824,6 +5988,7 @@
 		.unlock		= unlock_sst_fwhub,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5855,6 +6020,7 @@
 		.unlock		= unlock_sst_fwhub,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5889,6 +6055,7 @@
 		.unlock		= unlock_sst_fwhub,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5921,6 +6088,7 @@
 		.unlock		= unlock_49lfxxxc,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5952,6 +6120,7 @@
 		.unlock		= unlock_sst_fwhub,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -5984,6 +6153,7 @@
 		.unlock		= unlock_49lfxxxc,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6016,6 +6186,7 @@
 		.unlock		= unlock_49lfxxxc,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6045,6 +6216,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6074,6 +6246,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6103,6 +6276,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6133,6 +6307,7 @@
 		.unlock		= unlock_82802ab,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6162,6 +6337,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6194,6 +6370,7 @@
 		.unlock		= unlock_49lfxxxc,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -6220,6 +6397,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	/* The ST M25P05 is a bit of a problem. It has the same ID as the
@@ -6251,6 +6429,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1, /* 128 */
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6277,6 +6456,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	/* The ST M25P10 has the same problem as the M25P05. */
@@ -6304,6 +6484,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_1, /* 128 */
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6330,6 +6511,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6356,6 +6538,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6408,6 +6591,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6434,6 +6618,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6460,6 +6645,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6486,6 +6672,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6512,6 +6699,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6630,6 +6818,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55}, /* Datasheet says some are only 4.75-5.25 V */
 	},
 
 	{
@@ -6661,6 +6850,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55}, /* Datasheet says some are only 4.75-5.25 V */
 	},
 
 	{
@@ -6687,6 +6877,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -6719,6 +6910,7 @@
 		},
 		.write		= write_m29f400bt,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 	{
 		/* FIXME: this has WORD/BYTE sequences; 2AA for word, 555 for byte */
@@ -6750,6 +6942,7 @@
 		},
 		.write		= write_m29f400bt,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -6776,6 +6969,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -6802,6 +6996,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {27, 36},
 	},
 
         {
@@ -6825,6 +7020,7 @@
                 },
                 .write          = write_jedec_1,
                 .read           = read_memmapped,
+		.voltage	= {27, 36},
         },
 
 	{
@@ -6860,6 +7056,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -6895,6 +7092,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -6930,6 +7128,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -6965,6 +7164,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -6997,6 +7197,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -7024,6 +7225,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -7051,6 +7253,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -7078,6 +7281,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -7111,6 +7315,7 @@
 		.unlock		= unlock_stm50flw0x0x,
 		.write		= write_82802ab,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* Also has 12V fast program & erase */
 	},
 
 	{
@@ -7137,6 +7342,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7163,6 +7369,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7241,6 +7448,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7267,6 +7475,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7293,6 +7502,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -7319,6 +7529,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -7350,6 +7561,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7381,6 +7593,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7417,6 +7630,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7453,6 +7667,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7489,6 +7704,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7555,6 +7771,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7585,6 +7802,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7615,6 +7833,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7645,6 +7864,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7681,6 +7901,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7717,6 +7938,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7753,6 +7975,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {27, 36},
 	},
 
 	{
@@ -7799,6 +8022,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7822,6 +8046,7 @@
 		},
 		.write		= write_jedec,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -7902,6 +8127,7 @@
 		.printlock	= printlock_w39v040a,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -7929,6 +8155,7 @@
 		.printlock	= printlock_w39v040b,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -7956,6 +8183,7 @@
 		.printlock	= printlock_w39v040c,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -7987,6 +8215,7 @@
 		.unlock		= unlock_sst_fwhub,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -8069,6 +8298,7 @@
 		.printlock	= printlock_w39v080a,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -8100,6 +8330,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -8123,6 +8354,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {45, 55},
 	},
 
 	{
@@ -8154,6 +8386,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -8185,6 +8418,7 @@
 		},
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36},
 	},
 
 	{
@@ -8213,6 +8447,7 @@
 		.unlock		= unlock_w39v080fa,
 		.write		= write_jedec_1,
 		.read		= read_memmapped,
+		.voltage	= {30, 36}, /* 12 V fast program mode */
 	},
 
 	{
