em100: Update to Upstream version 4.3.01

This is the software release that comes with the EM100Pro-G2.

Change-Id: I43dc5c5a1d96b56a6e69aef02289baa094b0e66c
Signed-off-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
Reviewed-on: https://review.coreboot.org/28980
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Patrick Georgi <pgeorgi@google.com>
diff --git a/em100pro_chips.h b/em100pro_chips.h
index ea08360..43e3f0a 100644
--- a/em100pro_chips.h
+++ b/em100pro_chips.h
@@ -1,12 +1,12 @@
 /* EM100Pro supported chips database created from
- * Dediprog's EM100Pro utility version 4.2.30
+ * Dediprog's EM100Pro utility version 4.3.01
  */
 
 #ifndef EM100PRO_CHIPS_H
 #define EM100PRO_CHIPS_H
 
 #include <stdint.h>
-#define VERSION "4.2.30"
+#define VERSION "4.3.01"
 #define NUM_INIT_ENTRIES 212
 #define BYTES_PER_INIT_ENTRY 4
 typedef struct {
@@ -38827,6 +38827,225 @@
 		},
 		.init_len = 208,
 	},
+	{ /* Macronix MX25U25645G (32768 kB) */
+		.vendor = "Macronix",
+		.name = "MX25U25645G",
+		.size = 0x2000000,
+		.init = {
+			{ 0x23, 0x32, 0xfe, 0xff },
+			{ 0x23, 0x3a, 0x01, 0xff },
+			{ 0x23, 0x38, 0x82, 0x69 },
+			{ 0x23, 0x40, 0x39, 0x39 },
+			{ 0x23, 0x42, 0xc2, 0x25 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x06, 0x8f },
+			{ 0x11, 0x03, 0x04, 0x26 },
+			{ 0x11, 0x04, 0x07, 0x08 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x06 },
+			{ 0x23, 0xc1, 0xff, 0x02 },
+			{ 0x23, 0xc1, 0x06, 0x00 },
+			{ 0x23, 0xc1, 0x10, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x30 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xc2 },
+			{ 0x23, 0xc1, 0x04, 0x01 },
+			{ 0x23, 0xc1, 0x01, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0x84 },
+			{ 0x23, 0xc1, 0x02, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0xc0 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xe5 },
+			{ 0x23, 0xc1, 0xff, 0xfb },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x0f, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x6b, 0x08 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x04 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xff },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x49, 0x87 },
+			{ 0x23, 0xc1, 0x00, 0xb5 },
+			{ 0x23, 0xc1, 0xd2, 0x82 },
+			{ 0x23, 0xc1, 0xd2, 0x04 },
+			{ 0x23, 0xc1, 0x03, 0x44 },
+			{ 0x23, 0xc1, 0x38, 0x67 },
+			{ 0x23, 0xc1, 0xb0, 0x30 },
+			{ 0x23, 0xc1, 0xb0, 0x30 },
+			{ 0x23, 0xc1, 0xbd, 0xf7 },
+			{ 0x23, 0xc1, 0x5c, 0xd5 },
+			{ 0x23, 0xc1, 0x9e, 0x4a },
+			{ 0x23, 0xc1, 0xff, 0x29 },
+			{ 0x23, 0xc1, 0x50, 0xf0 },
+			{ 0x23, 0xc1, 0x85, 0xf9 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x8f, 0x7f },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x5c, 0x21 },
+			{ 0x23, 0xc1, 0xff, 0xdc },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x89, 0x85 },
+			{ 0x23, 0x4c, 0x00, 0x06 },
+			{ 0x23, 0x4e, 0x00, 0x7c },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xfe },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xfc },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xf8 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xf0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xe0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xc0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0x80 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xfe },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xfc },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xf8 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xf0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xe0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0xc0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0x80 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x81, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+		},
+		.init_len = 208,
+	},
 	{ /* Macronix MX25U3235 (4096 kB) */
 		.vendor = "Macronix",
 		.name = "MX25U3235",
@@ -39762,6 +39981,225 @@
 		},
 		.init_len = 11,
 	},
+	{ /* Macronix MX25U51245G (65536 kB) */
+		.vendor = "Macronix",
+		.name = "MX25U51245G",
+		.size = 0x4000000,
+		.init = {
+			{ 0x23, 0x32, 0xff, 0xff },
+			{ 0x23, 0x3a, 0x03, 0xff },
+			{ 0x23, 0x38, 0x82, 0x6a },
+			{ 0x23, 0x40, 0x3a, 0x3a },
+			{ 0x23, 0x42, 0xc2, 0x25 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x06, 0x40 },
+			{ 0x11, 0x03, 0x04, 0x4b },
+			{ 0x11, 0x04, 0x07, 0x08 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x06 },
+			{ 0x23, 0xc1, 0xff, 0x02 },
+			{ 0x23, 0xc1, 0x06, 0x00 },
+			{ 0x23, 0xc1, 0x10, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x30 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xc2 },
+			{ 0x23, 0xc1, 0x04, 0x01 },
+			{ 0x23, 0xc1, 0x02, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0x84 },
+			{ 0x23, 0xc1, 0x02, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0xc0 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xe5 },
+			{ 0x23, 0xc1, 0xff, 0xfb },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x1f, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x6b, 0x08 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x04 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xff },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x49, 0xd3 },
+			{ 0x23, 0xc1, 0x00, 0xc5 },
+			{ 0x23, 0xc1, 0xdf, 0x81 },
+			{ 0x23, 0xc1, 0xe3, 0x04 },
+			{ 0x23, 0xc1, 0x01, 0x44 },
+			{ 0x23, 0xc1, 0x38, 0x07 },
+			{ 0x23, 0xc1, 0xb0, 0x30 },
+			{ 0x23, 0xc1, 0xb0, 0x30 },
+			{ 0x23, 0xc1, 0xbd, 0xf7 },
+			{ 0x23, 0xc1, 0x5c, 0xd5 },
+			{ 0x23, 0xc1, 0x9e, 0x4a },
+			{ 0x23, 0xc1, 0xf0, 0x29 },
+			{ 0x23, 0xc1, 0x50, 0xf0 },
+			{ 0x23, 0xc1, 0x85, 0xf9 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x8f, 0x7f },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x5c, 0x21 },
+			{ 0x23, 0xc1, 0xff, 0xdc },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x80, 0x05 },
+			{ 0x23, 0x4c, 0x00, 0x06 },
+			{ 0x23, 0x4e, 0x00, 0xfc },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xfe },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xfc },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xf8 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xf0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xe0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0xc0 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0x80 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x83, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x82, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x03 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x07 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x0f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x1f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x3f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x01, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x03, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x03, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x03, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x03, 0xff },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x03, 0xff },
+		},
+		.init_len = 208,
+	},
 	{ /* Macronix MX25U6435E (8192 kB) */
 		.vendor = "Macronix",
 		.name = "MX25U6435E",
@@ -50170,7 +50608,7 @@
 			{ 0x23, 0xc1, 0xea, 0x82 },
 			{ 0x23, 0xc1, 0xc9, 0x14 },
 			{ 0x23, 0xc1, 0x61, 0xed },
-			{ 0x23, 0xc1, 0x33, 0x76 },
+			{ 0x23, 0xc1, 0x33, 0x79 },
 			{ 0x23, 0xc1, 0x75, 0x7a },
 			{ 0x23, 0xc1, 0x75, 0x7a },
 			{ 0x23, 0xc1, 0xbd, 0xf7 },
@@ -54235,6 +54673,444 @@
 		},
 		.init_len = 208,
 	},
+	{ /* Winbond W25Q64JV (8192 kB) */
+		.vendor = "Winbond",
+		.name = "W25Q64JV",
+		.size = 0x800000,
+		.init = {
+			{ 0x23, 0x32, 0xff, 0xff },
+			{ 0x23, 0x3a, 0x00, 0x7f },
+			{ 0x23, 0x38, 0x82, 0x67 },
+			{ 0x23, 0x40, 0x17, 0x16 },
+			{ 0x23, 0x42, 0xef, 0x40 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x0b, 0x3e },
+			{ 0x11, 0x03, 0x07, 0x08 },
+			{ 0x11, 0x04, 0x0c, 0xe4 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x05 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x05, 0x00 },
+			{ 0x23, 0xc1, 0x10, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x80 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xe5 },
+			{ 0x23, 0xc1, 0xff, 0xf9 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x03, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x6b, 0x08 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x42 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x40 },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x02, 0x36 },
+			{ 0x23, 0xc1, 0x00, 0xa6 },
+			{ 0x23, 0xc1, 0xea, 0x82 },
+			{ 0x23, 0xc1, 0xc4, 0x14 },
+			{ 0x23, 0xc1, 0x63, 0xe9 },
+			{ 0x23, 0xc1, 0x33, 0x76 },
+			{ 0x23, 0xc1, 0x75, 0x7a },
+			{ 0x23, 0xc1, 0x75, 0x7a },
+			{ 0x23, 0xc1, 0xa2, 0xf7 },
+			{ 0x23, 0xc1, 0x5c, 0xd5 },
+			{ 0x23, 0xc1, 0xf7, 0x19 },
+			{ 0x23, 0xc1, 0xff, 0x4d },
+			{ 0x23, 0xc1, 0x30, 0xe9 },
+			{ 0x23, 0xc1, 0x80, 0xf8 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x8e, 0x76 },
+			{ 0x23, 0x4c, 0x00, 0x09 },
+			{ 0x23, 0x4e, 0xfb, 0xff },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7c },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x78 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x70 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x60 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x40 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x03 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x07 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x0f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x1f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x3f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xf0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0xe0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0xc0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x0f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x0f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x1f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x3f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x7f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+		},
+		.init_len = 208,
+	},
+	{ /* Winbond W25Q64JV-DTR (8192 kB) */
+		.vendor = "Winbond",
+		.name = "W25Q64JV-DTR",
+		.size = 0x800000,
+		.init = {
+			{ 0x23, 0x32, 0xff, 0xff },
+			{ 0x23, 0x3a, 0x00, 0x7f },
+			{ 0x23, 0x38, 0x82, 0x67 },
+			{ 0x23, 0x40, 0x17, 0x16 },
+			{ 0x23, 0x42, 0xef, 0x70 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x0b, 0x3e },
+			{ 0x11, 0x03, 0x07, 0x08 },
+			{ 0x11, 0x04, 0x0c, 0xe4 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x05 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x05, 0x00 },
+			{ 0x23, 0xc1, 0x10, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x80 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xe5 },
+			{ 0x23, 0xc1, 0xff, 0xf9 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x03, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x44 },
+			{ 0x23, 0xc1, 0x6b, 0x08 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x42 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x40 },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x02, 0x36 },
+			{ 0x23, 0xc1, 0x00, 0xa6 },
+			{ 0x23, 0xc1, 0xea, 0x82 },
+			{ 0x23, 0xc1, 0xc4, 0x14 },
+			{ 0x23, 0xc1, 0x63, 0xe9 },
+			{ 0x23, 0xc1, 0x33, 0x76 },
+			{ 0x23, 0xc1, 0x75, 0x7a },
+			{ 0x23, 0xc1, 0x75, 0x7a },
+			{ 0x23, 0xc1, 0xa2, 0xf7 },
+			{ 0x23, 0xc1, 0x5c, 0xd5 },
+			{ 0x23, 0xc1, 0xf7, 0x19 },
+			{ 0x23, 0xc1, 0xff, 0x4d },
+			{ 0x23, 0xc1, 0x30, 0xe9 },
+			{ 0x23, 0xc1, 0x80, 0xf8 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x8e, 0x76 },
+			{ 0x23, 0x4c, 0x00, 0x09 },
+			{ 0x23, 0x4e, 0xfb, 0xff },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7c },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x78 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x70 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x60 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x40 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x03 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x07 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x0f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x1f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x3f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xf0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0xe0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0xc0, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x0f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x0f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x1f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x3f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x7f, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+		},
+		.init_len = 208,
+	},
 	{ /* Winbond W25Q80BL (1024 kB) */
 		.vendor = "Winbond",
 		.name = "W25Q80BL",
@@ -55981,6 +56857,444 @@
 		},
 		.init_len = 11,
 	},
+	{ /* XMC XM25QH64A (8192 kB) */
+		.vendor = "XMC",
+		.name = "XM25QH64A",
+		.size = 0x800000,
+		.init = {
+			{ 0x23, 0x32, 0xff, 0xff },
+			{ 0x23, 0x3a, 0x00, 0x7f },
+			{ 0x23, 0x38, 0x82, 0x67 },
+			{ 0x23, 0x40, 0x17, 0x16 },
+			{ 0x23, 0x42, 0x20, 0x70 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x0b, 0x3e },
+			{ 0x11, 0x03, 0x07, 0x08 },
+			{ 0x11, 0x04, 0x0c, 0xe4 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x09, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x30 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xed },
+			{ 0x23, 0xc1, 0xff, 0xb1 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x03, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x5f },
+			{ 0x23, 0xc1, 0x6b, 0x00 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x04 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x5f },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x2c, 0x05 },
+			{ 0x23, 0xc1, 0x11, 0x10 },
+			{ 0x23, 0xc1, 0x20, 0x1b },
+			{ 0x23, 0xc1, 0x00, 0x74 },
+			{ 0x23, 0xc1, 0x01, 0x02 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x80, 0xb5 },
+			{ 0x23, 0x4c, 0x00, 0x00 },
+			{ 0x23, 0x4e, 0x08, 0xfc },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7c },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x78 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x70 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x60 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x40 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x20 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x10 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x08 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x04 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x02 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x03 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x07 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x0f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x1f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x3f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x5f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x6f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x77 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7b },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7d },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+		},
+		.init_len = 208,
+	},
+	{ /* XMC XM25QU64A (8192 kB) */
+		.vendor = "XMC",
+		.name = "XM25QU64A",
+		.size = 0x800000,
+		.init = {
+			{ 0x23, 0x32, 0xff, 0xff },
+			{ 0x23, 0x3a, 0x00, 0x7f },
+			{ 0x23, 0x38, 0x82, 0x67 },
+			{ 0x23, 0x40, 0x17, 0x76 },
+			{ 0x23, 0x42, 0x20, 0x38 },
+			{ 0x23, 0x44, 0x03, 0x18 },
+			{ 0x23, 0x46, 0x1a, 0x30 },
+			{ 0x23, 0x48, 0x1a, 0x30 },
+			{ 0x11, 0x02, 0x06, 0x18 },
+			{ 0x11, 0x03, 0x04, 0x4b },
+			{ 0x11, 0x04, 0x07, 0x08 },
+			/* SFDP */
+			{ 0x23, 0xc9, 0x00, 0x01 },
+			{ 0x23, 0xc1, 0x46, 0x53 },
+			{ 0x23, 0xc1, 0x50, 0x44 },
+			{ 0x23, 0xc1, 0x01, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x00, 0x00 },
+			{ 0x23, 0xc1, 0x09, 0x01 },
+			{ 0x23, 0xc1, 0x00, 0x30 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x20, 0xed },
+			{ 0x23, 0xc1, 0xff, 0xb1 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x03, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x5f },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0x3b, 0x08 },
+			{ 0x23, 0xc1, 0xbb, 0x04 },
+			{ 0x23, 0xc1, 0xff, 0xfe },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xeb, 0x5f },
+			{ 0x23, 0xc1, 0x20, 0x0c },
+			{ 0x23, 0xc1, 0x52, 0x0f },
+			{ 0x23, 0xc1, 0xd8, 0x10 },
+			{ 0x23, 0xc1, 0xff, 0x00 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0x27, 0x26 },
+			{ 0x23, 0xc1, 0x11, 0x14 },
+			{ 0x23, 0xc1, 0x40, 0x16 },
+			{ 0x23, 0xc1, 0x12, 0x0e },
+			{ 0x23, 0xc1, 0x01, 0x02 },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			{ 0x23, 0xc1, 0xff, 0xff },
+			/* SRST */
+			{ 0x23, 0x4a, 0x80, 0xb5 },
+			{ 0x23, 0x4c, 0x00, 0x00 },
+			{ 0x23, 0x4e, 0x08, 0xfc },
+			/* PROT */
+			{ 0x23, 0xc4, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7f },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x7c },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x78 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x70 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x60 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x40 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x20 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x10 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x08 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x04 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x02 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x01 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x03 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x07 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x0f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x1f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x3f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x5f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x6f },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x77 },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7b },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7d },
+			{ 0x23, 0xc5, 0xff, 0xff },
+			{ 0x23, 0xc5, 0x00, 0x7e },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+			{ 0x23, 0xc5, 0x00, 0x00 },
+			{ 0x23, 0xc5, 0x80, 0x00 },
+		},
+		.init_len = 208,
+	},
 	{ /* TSI ZP25L16P (2048 kB) */
 		.vendor = "TSI",
 		.name = "ZP25L16P",
diff --git a/makechips.sh b/makechips.sh
index 56702b3..9ab1b50 100755
--- a/makechips.sh
+++ b/makechips.sh
@@ -16,8 +16,8 @@
 # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
 #
 
-URL="https://www.dediprog.com/save/78.msi/to/EM100Pro.msi"
-VURL="https://www.dediprog.com/download?u=42&l=EM100Pro+SPI+Flash+Emulator"
+URL="https://www.dediprog.com/download/save/78.msi"
+VURL="https://www.dediprog.com/download?productCategory=SPI+Flash+Solution&productName=EM100Pro-G2+SPI+Flash+Emulator&fileType=10"
 
 if ! which curl > /dev/null; then
   echo "Install curl to run this script."
@@ -28,7 +28,7 @@
   exit 1
 fi
 
-FILE=$(basename $URL)
+FILE=EM100Pro.msi
 TEMP=$(mktemp -d /tmp/makech.XXXXXX)
 WD=$(readlink -f $(dirname $0))
 
@@ -41,7 +41,7 @@
   curl -s $URL -o $FILE || exit
 fi
 echo "    Unpacking ..."
-VERSION="$( curl -s "$VURL" | grep -A1 EM100Pro\ Soft | tail -1 | cut -d\> -f2 | cut -d\< -f1 )"
+VERSION="$( curl -s "$VURL" | grep -A2 EM100Pro-G2\ Soft|tail -1| cut -d\< -f1 | tr -d ' 	')"
 echo "    Detected SPI flash database \"$VERSION\""
 
 if ! msiextract $FILE > /dev/null ; then