diff --git a/flashchips.c b/flashchips.c
index 1f70846cbdaa25f4009c2e94847e96064d371a5b..3ab19bb81603a74867367a1dcc7ac57649a4597e 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -1002,37 +1002,6 @@ struct flashchip flashchips[] = {
 		.read		= read_memmapped,
 	},
 
-	{
-		.vendor		= "ASD",
-		.name		= "AE49F2008",
-		.bustype	= CHIP_BUSTYPE_PARALLEL,
-		.manufacture_id	= ASD_ID,
-		.model_id	= ASD_AE49F2008,
-		.total_size	= 256,
-		.page_size	= 128,
-		.feature_bits	= FEATURE_EITHER_RESET,
-		.tested		= TEST_UNTESTED,
-		.probe		= probe_jedec,
-		.probe_timing	= TIMING_FIXME, 
-		.block_erasers	=
-		{
-			{
-				.eraseblocks = {
-					{128 * 1024, 1},
-					{96 * 1024, 1},
-					{8 * 1024, 2},
-					{16 * 1024, 1},
-				},
-				.block_erase = erase_sector_jedec,
-			}, {
-				.eraseblocks = { {256 * 1024, 1} },
-				.block_erase = erase_chip_block_jedec,
-			}
-		},
-		.write		= write_jedec,
-		.read		= read_memmapped,
-	},
-
 	{
 		.vendor		= "Atmel",
 		.name		= "AT25DF021",
@@ -6957,7 +6926,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25Q80",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25Q80,
+		.model_id	= WINBOND_NEX_W25Q80,
 		.total_size	= 1024,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -6993,7 +6962,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25Q16",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25Q16,
+		.model_id	= WINBOND_NEX_W25Q16,
 		.total_size	= 2048,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7029,7 +6998,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25Q32",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25Q32,
+		.model_id	= WINBOND_NEX_W25Q32,
 		.total_size	= 4096,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7065,7 +7034,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25Q64",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25Q64,
+		.model_id	= WINBOND_NEX_W25Q64,
 		.total_size	= 8192,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7101,7 +7070,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x10",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X10,
+		.model_id	= WINBOND_NEX_W25X10,
 		.total_size	= 128,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7131,7 +7100,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x20",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X20,
+		.model_id	= WINBOND_NEX_W25X20,
 		.total_size	= 256,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7161,7 +7130,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x40",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X40,
+		.model_id	= WINBOND_NEX_W25X40,
 		.total_size	= 512,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7191,7 +7160,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x80",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X80,
+		.model_id	= WINBOND_NEX_W25X80,
 		.total_size	= 1024,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7221,7 +7190,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x16",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X16,
+		.model_id	= WINBOND_NEX_W25X16,
 		.total_size	= 2048,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7257,7 +7226,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x32",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X32,
+		.model_id	= WINBOND_NEX_W25X32,
 		.total_size	= 4096,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7293,7 +7262,7 @@ struct flashchip flashchips[] = {
 		.name		= "W25x64",
 		.bustype	= CHIP_BUSTYPE_SPI,
 		.manufacture_id	= WINBOND_NEX_ID,
-		.model_id	= W_25X64,
+		.model_id	= WINBOND_NEX_W25X64,
 		.total_size	= 8192,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_WRSR_WREN,
@@ -7326,10 +7295,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W29C011",
+		.name		= "W29C010(M)/W29C011A/W29EE011/W29EE012",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_29C011,
+		.model_id	= WINBOND_W29C010,
 		.total_size	= 128,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_LONG_RESET,
@@ -7349,10 +7318,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W29C020C",
+		.name		= "W29C020(C)/W29C022",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_29C020C,
+		.model_id	= WINBOND_W29C020,
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_LONG_RESET,
@@ -7372,10 +7341,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W29C040P",
+		.name		= "W29C040/P",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_29C040P,
+		.model_id	= WINBOND_W29C040,
 		.total_size	= 512,
 		.page_size	= 256,
 		.feature_bits	= FEATURE_LONG_RESET,
@@ -7395,10 +7364,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W29EE011",
+		.name		= "W29C010(M)/W29C011A/W29EE011/W29EE012",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_29C011,
+		.model_id	= WINBOND_W29C010,
 		.total_size	= 128,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_LONG_RESET,
@@ -7421,7 +7390,7 @@ struct flashchip flashchips[] = {
 		.name		= "W39V040A",
 		.bustype	= CHIP_BUSTYPE_LPC,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V040A,
+		.model_id	= WINBOND_W39V040A,
 		.total_size	= 512,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7444,10 +7413,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W39V040B",
+		.name		= "W39V040(F)B",
 		.bustype	= CHIP_BUSTYPE_LPC,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V040B,
+		.model_id	= WINBOND_W39V040B,
 		.total_size	= 512,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7470,10 +7439,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W39V040C",
+		.name		= "W39V040(F)C",
 		.bustype	= CHIP_BUSTYPE_LPC,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V040C,
+		.model_id	= WINBOND_W39V040C,
 		.total_size	= 512,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7500,7 +7469,7 @@ struct flashchip flashchips[] = {
 		.name		= "W39V040FA",
 		.bustype	= CHIP_BUSTYPE_FWH,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V040FA,
+		.model_id	= WINBOND_W39V040FA,
 		.total_size	= 512,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
@@ -7531,7 +7500,7 @@ struct flashchip flashchips[] = {
 		.name		= "W39V080A",
 		.bustype	= CHIP_BUSTYPE_LPC,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V080A,
+		.model_id	= WINBOND_W39V080A,
 		.total_size	= 1024,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7554,10 +7523,10 @@ struct flashchip flashchips[] = {
 
 	{
 		.vendor		= "Winbond",
-		.name		= "W49F002U",
+		.name		= "W49F002U/N",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_49F002U,
+		.model_id	= WINBOND_W49F002U,
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7588,7 +7557,7 @@ struct flashchip flashchips[] = {
 		.name		= "W49F020",
 		.bustype	= CHIP_BUSTYPE_PARALLEL,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_49F020,
+		.model_id	= WINBOND_W49F020,
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7611,7 +7580,7 @@ struct flashchip flashchips[] = {
 		.name		= "W49V002A",
 		.bustype	= CHIP_BUSTYPE_LPC,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_49V002A,
+		.model_id	= WINBOND_W49V002A,
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7642,7 +7611,7 @@ struct flashchip flashchips[] = {
 		.name		= "W49V002FA",
 		.bustype	= CHIP_BUSTYPE_FWH,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_49V002FA,
+		.model_id	= WINBOND_W49V002FA,
 		.total_size	= 256,
 		.page_size	= 128,
 		.feature_bits	= FEATURE_EITHER_RESET,
@@ -7673,7 +7642,7 @@ struct flashchip flashchips[] = {
 		.name		= "W39V080FA",
 		.bustype	= CHIP_BUSTYPE_FWH,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V080FA,
+		.model_id	= WINBOND_W39V080FA,
 		.total_size	= 1024,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
@@ -7700,7 +7669,7 @@ struct flashchip flashchips[] = {
 		.name		= "W39V080FA (dual mode)",
 		.bustype	= CHIP_BUSTYPE_FWH,
 		.manufacture_id	= WINBOND_ID,
-		.model_id	= W_39V080FA_DM,
+		.model_id	= WINBOND_W39V080FA_DM,
 		.total_size	= 512,
 		.page_size	= 64 * 1024,
 		.feature_bits	= FEATURE_REGISTERMAP | FEATURE_EITHER_RESET,
diff --git a/flashchips.h b/flashchips.h
index eb71aee8e43d0a6b99daa932013f8e1ebbcb07d7..2ca11635233ab93cda6c88310e869c437f72fa5f 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -110,10 +110,6 @@
 #define AMIC_A29L040		0x92
 #define AMIC_A49LF040A		0x9d
 
-/* This chip vendor/device ID is probably a misinterpreted LHA header. */
-#define ASD_ID			0x25	/* ASD, not listed in JEP106W */
-#define ASD_AE49F2008		0x52
-
 #define ATMEL_ID		0x1F	/* Atmel */
 #define AT_25DF021		0x4300
 #define AT_25DF041A		0x4401
@@ -543,35 +539,52 @@
  * W25X chips are SPI, first byte of device ID is memory type, second
  * byte of device ID is related to log(bitsize).
  */
-#define WINBOND_ID		0xDA	/* Winbond */
 #define WINBOND_NEX_ID		0xEF	/* Winbond (ex Nexcom) serial flashes */
-#define W_25X10			0x3011
-#define W_25X20			0x3012
-#define W_25X40			0x3013
-#define W_25X80			0x3014
-#define W_25X16			0x3015
-#define W_25X32			0x3016
-#define W_25X64			0x3017
-#define W_25Q80			0x4014
-#define W_25Q16			0x4015
-#define W_25Q32			0x4016
-#define W_25Q64			0x4017
-#define W_29C011		0xC1
-#define W_29C020C		0x45	/* Same as W29C020 and ASD AE29F2008 */
-#define W_29C040P		0x46	/* Same as W29C040 */
-#define W_29EE011		0xC1
-#define W_39L020		0xB5
-#define W_39L040		0xB6
-#define W_39V040FA		0x34
-#define W_39V040A		0x3D
-#define W_39V040B		0x54
-#define W_39V040C		0x50
-#define W_39V080A		0xD0
-#define W_39V080FA		0xD3
-#define W_39V080FA_DM		0x93
-#define W_49F002U		0x0B
-#define W_49F020		0x8C
-#define W_49V002A		0xB0
-#define W_49V002FA		0x32
+#define WINBOND_NEX_W25X10	0x3011
+#define WINBOND_NEX_W25X20	0x3012
+#define WINBOND_NEX_W25X40	0x3013
+#define WINBOND_NEX_W25X80	0x3014
+#define WINBOND_NEX_W25X16	0x3015
+#define WINBOND_NEX_W25X32	0x3016
+#define WINBOND_NEX_W25X64	0x3017
+#define WINBOND_NEX_W25Q40	0x4013
+#define WINBOND_NEX_W25Q80	0x4014
+#define WINBOND_NEX_W25Q16	0x4015
+#define WINBOND_NEX_W25Q32	0x4016
+#define WINBOND_NEX_W25Q64	0x4017
+#define WINBOND_NEX_W25Q128	0x4018
+
+#define WINBOND_ID		0xDA	/* Winbond */
+#define WINBOND_W19B160BB	0x49
+#define WINBOND_W19B160BT	0xC4
+#define WINBOND_W19B320SB	0x2A    /* Same as W19L320SB */
+#define WINBOND_W19B320ST	0xBA    /* Same as W19L320ST */
+#define WINBOND_W19B322MB	0x92
+#define WINBOND_W19B322MT	0x10
+#define WINBOND_W19B323MB	0x94
+#define WINBOND_W19B323MT	0x13
+#define WINBOND_W19B324MB	0x97
+#define WINBOND_W19B324MT	0x16
+#define WINBOND_W29C010		0xC1    /* Same as W29C010M, W29C011A, W29EE011, W29EE012, and ASD AE29F1008 */
+#define WINBOND_W29C020		0x45    /* Same as W29C020C, W29C022 and ASD AE29F2008 */
+#define WINBOND_W29C040		0x46    /* Same as W29C040P */
+#define WINBOND_W29C512A	0xC8    /* Same as W29EE512 */
+#define WINBOND_W39L010		0x31
+#define WINBOND_W39L020		0xB5
+#define WINBOND_W39L040		0xB6
+#define WINBOND_W39L040A	0xD6
+#define WINBOND_W39L512		0x38
+#define WINBOND_W39V040A	0x3D
+#define WINBOND_W39V040FA	0x34
+#define WINBOND_W39V040B	0x54    /* Same as W39V040FB */
+#define WINBOND_W39V040C	0x50    /* Same as W39V040FC */
+#define WINBOND_W39V080A	0xD0
+#define WINBOND_W39V080FA	0xD3
+#define WINBOND_W39V080FA_DM	0x93    /* W39V080FA dual mode */
+#define WINBOND_W49F002		0x25    /* Same as W49F002B */
+#define WINBOND_W49F002U	0x0B    /* Same as W49F002N and ASD AE49F2008 */
+#define WINBOND_W49F020		0x8C
+#define WINBOND_W49V002A	0xB0
+#define WINBOND_W49V002FA	0x32
 
 #endif /* !FLASHCHIPS_H */