diff --git a/en29lv640b.c b/en29lv640b.c
index 8883a09..3f33a40 100644
--- a/en29lv640b.c
+++ b/en29lv640b.c
@@ -54,31 +54,3 @@
 	/* FIXME: Ignore errors for now. */
 	return 0;
 }
-
-int probe_en29lv640b(struct flashctx *flash)
-{
-	chipaddr bios = flash->virtual_memory;
-	uint16_t id1, id2;
-
-	chip_writeb(flash, 0xAA, bios + 0xAAA);
-	chip_writeb(flash, 0x55, bios + 0x555);
-	chip_writeb(flash, 0x90, bios + 0xAAA);
-
-	programmer_delay(10);
-
-	id1 = chip_readb(flash, bios + 0x200);
-	id1 |= (chip_readb(flash, bios) << 8);
-
-	id2 = chip_readb(flash, bios + 0x02);
-
-	chip_writeb(flash, 0xF0, bios + 0xAAA);
-
-	programmer_delay(10);
-
-	msg_cdbg("%s: id1 0x%04x, id2 0x%04x\n", __func__, id1, id2);
-
-	if (id1 == flash->chip->id.manufacture && id2 == flash->chip->id.model)
-		return 1;
-
-	return 0;
-}
diff --git a/flashchips.c b/flashchips.c
index 801cae2..853fa23 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -6609,15 +6609,15 @@
 		.vendor		= "Eon",
 		.name		= "EN29LV640B",
 		.bustype	= BUS_PARALLEL,
-		.id.type	= ID_EN29LV640B,
+		.id.type	= ID_JEDEC,
 		.id.manufacture	= EON_ID,
 		.id.model	= EON_EN29LV640B,
 		.total_size	= 8192,
 		.page_size	= 8192,
-		.feature_bits	= FEATURE_ADDR_SHIFTED,
-		.tested		= TEST_OK_PREW,
-		.probe		= probe_en29lv640b,
-		.probe_timing	= TIMING_ZERO,	/* Datasheet has no timing info specified */
+		.feature_bits	= FEATURE_ADDR_SHIFTED | FEATURE_ADDR_AAA | FEATURE_SHORT_RESET,
+		.tested		= {.probe = NT, .read = OK, .erase = OK, .write = OK},
+		.probe		= probe_buses,
+		.probe_timing	= 10,	/* Datasheet has no timing info specified */
 		.block_erasers	=
 		{
 			{
diff --git a/flashprog.c b/flashprog.c
index fc20045..13e3695 100644
--- a/flashprog.c
+++ b/flashprog.c
@@ -661,7 +661,6 @@
 {
 	static const char *const id_names[] = {
 		[ID_82802AB]	= "82802AB",
-		[ID_EN29LV640B]	= "EN29LV640B",
 		[ID_JEDEC]	= "JEDEC",
 		[ID_JEDEC_29GL]	= "JEDEC_29GL",
 		[ID_OPAQUE]	= "OPAQUE",
diff --git a/include/chipdrivers/probing.h b/include/chipdrivers/probing.h
index 9d00970..a84d6e8 100644
--- a/include/chipdrivers/probing.h
+++ b/include/chipdrivers/probing.h
@@ -26,7 +26,6 @@
 
 	ID_82802AB,
 	ID_EDI,
-	ID_EN29LV640B,
 	ID_JEDEC,
 	ID_JEDEC_29GL,
 	ID_OPAQUE,
diff --git a/jedec.c b/jedec.c
index 0c3ed0a..4ff1040 100644
--- a/jedec.c
+++ b/jedec.c
@@ -388,13 +388,14 @@
 		feature_bits_t features;
 		signed int probe_timing;
 	} additional_sets[] = {
-		{   2*MiB, FEATURE_SHORT_RESET,				 TIMING_ZERO },
-		{   2*MiB, FEATURE_LONG_RESET | FEATURE_ADDR_SHIFTED,		  10 },
-		{ 512*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_SHIFTED,		  10 },
-		{ 384*KiB, FEATURE_LONG_RESET,					   1 },
-		{ 256*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_2AA,	TIMING_FIXME },
-		{ 256*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_AAA,	 TIMING_ZERO },
-		{ 128*KiB, FEATURE_SHORT_RESET,				 TIMING_ZERO },
+		{   8*MiB, FEATURE_SHORT_RESET | FEATURE_ADDR_SHIFTED | FEATURE_ADDR_AAA, 10 },
+		{   2*MiB, FEATURE_SHORT_RESET,					 TIMING_ZERO },
+		{   2*MiB, FEATURE_LONG_RESET | FEATURE_ADDR_SHIFTED,			  10 },
+		{ 512*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_SHIFTED,			  10 },
+		{ 384*KiB, FEATURE_LONG_RESET,						   1 },
+		{ 256*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_2AA,		TIMING_FIXME },
+		{ 256*KiB, FEATURE_LONG_RESET | FEATURE_ADDR_AAA,		 TIMING_ZERO },
+		{ 128*KiB, FEATURE_SHORT_RESET,					 TIMING_ZERO },
 	};
 	for (set = 0; set < ARRAY_SIZE(additional_sets); ++set) {
 		*next_ptr = probe_jedec_generic(par, additional_sets[set].chip_size,
