aboutsummaryrefslogtreecommitdiff
path: root/projects/flashrom
diff options
context:
space:
mode:
Diffstat (limited to 'projects/flashrom')
-rw-r--r--projects/flashrom/configs/revision2
-rwxr-xr-xprojects/flashrom/flashrom2
-rw-r--r--projects/flashrom/patches/0001-New-laptops-whitelisted-ThinkPad-R400-and-ThinkPad-T.patch28
-rw-r--r--projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch91
-rw-r--r--projects/flashrom/patches/0002-Add-whitelist-for-Taurinus-X200-laptop.patch24
-rw-r--r--projects/flashrom/patches/0002-Workaround-for-MX25-chips.patch (renamed from projects/flashrom/patches/0005-Workaround-MX25-reliable-operation.patch)45
-rw-r--r--projects/flashrom/patches/0003-purged-chips.patch354
-rw-r--r--projects/flashrom/patches/0004-Whitelist-ThinkPad-W500.patch24
-rw-r--r--projects/flashrom/patches/lenovobios/0001-Lenovobios-adaptation-for-Macronix-and-SST-chips.patch21
9 files changed, 133 insertions, 458 deletions
diff --git a/projects/flashrom/configs/revision b/projects/flashrom/configs/revision
index 8031930e..0a38356a 100644
--- a/projects/flashrom/configs/revision
+++ b/projects/flashrom/configs/revision
@@ -1 +1 @@
-v0.9.9
+a72d5a98286272094dda06f5c69b48910f6a7451
diff --git a/projects/flashrom/flashrom b/projects/flashrom/flashrom
index bc3199f0..e01b66be 100755
--- a/projects/flashrom/flashrom
+++ b/projects/flashrom/flashrom
@@ -27,7 +27,7 @@ usage() {
download() {
local repository=$project
- project_download_git "$project" "$repository" "https://github.com/stefanct/flashrom.git" "$@"
+ project_download_git "$project" "$repository" 'https://review.coreboot.org/flashrom.git https://github.com/stefanct/flashrom.git' "$@"
}
download_check() {
diff --git a/projects/flashrom/patches/0001-New-laptops-whitelisted-ThinkPad-R400-and-ThinkPad-T.patch b/projects/flashrom/patches/0001-New-laptops-whitelisted-ThinkPad-R400-and-ThinkPad-T.patch
deleted file mode 100644
index f9d51806..00000000
--- a/projects/flashrom/patches/0001-New-laptops-whitelisted-ThinkPad-R400-and-ThinkPad-T.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 52a0b55c77635dc026793e66d516e3aed335706a Mon Sep 17 00:00:00 2001
-From: Leah Rowe <info@minifree.org>
-Date: Fri, 11 Mar 2016 06:35:03 +0000
-Subject: [PATCH 1/1] New laptops whitelisted: ThinkPad R400 and ThinkPad T500
-
-Support for these laptops was merged in coreboot a while ago, so it makes sense
-for flashrom to whitelist them.
----
- board_enable.c | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/board_enable.c b/board_enable.c
-index 7b152d1..1d56203 100644
---- a/board_enable.c
-+++ b/board_enable.c
-@@ -2427,7 +2427,9 @@ const struct board_match board_matches[] = {
- {0x8086, 0x7190, 0, 0, 0x8086, 0x7110, 0, 0, "^SE440BX-2$", NULL, NULL, P3, "Intel", "SE440BX-2", 0, NT, intel_piix4_gpo27_lower},
- {0x1022, 0x7468, 0, 0, 0x1022, 0x7460, 0, 0, NULL, "iwill", "dk8_htx", P3, "IWILL", "DK8-HTX", 0, OK, w83627hf_gpio24_raise_2e},
- {0x8086, 0x27A0, 0x8086, 0x27a0, 0x8086, 0x27b8, 0x8086, 0x27b8, NULL, "kontron", "986lcd-m", P3, "Kontron", "986LCD-M", 0, OK, board_kontron_986lcd_m},
-+ {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad R400", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad R400", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad T400", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T400", 0, OK, p2_whitelist_laptop},
-+ {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad T500", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T500", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x1E22, 0x17AA, 0x21F6, 0x8086, 0x1E55, 0x17AA, 0x21F6, "^ThinkPad T530", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T530", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x27a0, 0x17aa, 0x2015, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x27a0, 0x17aa, 0x2017, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60(s)", 0, OK, p2_whitelist_laptop},
---
-1.9.1
-
diff --git a/projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch b/projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch
new file mode 100644
index 00000000..e14bfe0c
--- /dev/null
+++ b/projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch
@@ -0,0 +1,91 @@
+From 4a262ea16a10a6067d48d70a2195151dea9292c6 Mon Sep 17 00:00:00 2001
+From: Andrew Robbins <contact@andrewrobbins.info>
+Date: Fri, 2 Mar 2018 00:13:16 -0500
+Subject: [PATCH] Purge redundant Macronix chips
+
+Removing the redundant Macronix chips avoids the situation where X60
+owners have to specify their particular chip on the command line with
+flashrom's '--chip' flag.
+---
+ flashchips.c | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/flashchips.c b/flashchips.c
+index 1ab4986..7f85415 100644
+--- a/flashchips.c
++++ b/flashchips.c
+@@ -7595,7 +7595,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L1605A/MX25L1606E/MX25L1608E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L1605,
++ .model_id = 0xDEAD,
+ .total_size = 2048,
+ .page_size = 256,
+ /* OTP: 64B total; enter 0xB1, exit 0xC1 (MX25L1606E and MX25L1608E only) */
+@@ -7634,7 +7634,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L1605D/MX25L1608D/MX25L1673E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L1605,
++ .model_id = 0xDEAD,
+ .total_size = 2048,
+ .page_size = 256,
+ .feature_bits = FEATURE_WRSR_WREN,
+@@ -7776,7 +7776,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L3205D/MX25L3208D",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L3205,
++ .model_id = 0xDEAD,
+ .total_size = 4096,
+ .page_size = 256,
+ /* OTP: 64B total; enter 0xB1, exit 0xC1 */
+@@ -7812,7 +7812,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L3206E/MX25L3208E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L3205,
++ .model_id = 0xDEAD,
+ .total_size = 4096,
+ .page_size = 256,
+ /* OTP: 64B total; enter 0xB1, exit 0xC1 */
+@@ -7851,7 +7851,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L3273E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L3205,
++ .model_id = 0xDEAD,
+ .total_size = 4096,
+ .page_size = 256,
+ /* OTP: 64B total; enter 0xB1, exit 0xC1 */
+@@ -7962,7 +7962,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L6405D",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L6405,
++ .model_id = 0xDEAD,
+ .total_size = 8192,
+ .page_size = 256,
+ /* OTP: 64B total; enter 0xB1, exit 0xC1 */
+@@ -7998,7 +7998,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L6406E/MX25L6408E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L6405,
++ .model_id = 0xDEAD,
+ .total_size = 8192,
+ .page_size = 256,
+ /* MX25L6406E supports SFDP */
+@@ -8038,7 +8038,7 @@ const struct flashchip flashchips[] = {
+ .name = "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E/MX25L6473F",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L6405,
++ .model_id = 0xDEAD,
+ .total_size = 8192,
+ .page_size = 256,
+ /* supports SFDP */
+--
+1.9.1
+
diff --git a/projects/flashrom/patches/0002-Add-whitelist-for-Taurinus-X200-laptop.patch b/projects/flashrom/patches/0002-Add-whitelist-for-Taurinus-X200-laptop.patch
deleted file mode 100644
index 0aa0701b..00000000
--- a/projects/flashrom/patches/0002-Add-whitelist-for-Taurinus-X200-laptop.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From b1828512abf58911cfb829cb6a98d4e8dbefadc2 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <info@minifree.org>
-Date: Fri, 11 Mar 2016 06:38:39 +0000
-Subject: [PATCH 1/1] Add whitelist for Taurinus X200 laptop
-
----
- board_enable.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/board_enable.c b/board_enable.c
-index 1d56203..a71061c 100644
---- a/board_enable.c
-+++ b/board_enable.c
-@@ -2437,6 +2437,7 @@ const struct board_match board_matches[] = {
- {0x8086, 0x3B07, 0x17AA, 0x2166, 0x8086, 0x3B30, 0x17AA, 0x2167, "^Lenovo X201", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X201", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x1E22, 0x17AA, 0x21FA, 0x8086, 0x1E55, 0x17AA, 0x21FA, "^ThinkPad X230", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X230", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x27A0, 0x17AA, 0x2017, 0x8086, 0x27B9, 0x17AA, 0x2009, "^ThinkPad X60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad X60(s)", 0, OK, p2_whitelist_laptop},
-+ {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^Taurinus X200", "Libiquity", "Taurinus X200", P2, "Libiquity", "ThinkPad X200", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x2411, 0x8086, 0x2411, 0x8086, 0x7125, 0x0e11, 0xb165, NULL, NULL, NULL, P3, "Mitac", "6513WU", 0, OK, board_mitac_6513wu},
- {0x8086, 0x8186, 0x8086, 0x8186, 0x8086, 0x8800, 0, 0, "^MSC Vertriebs GmbH$", NULL, NULL, P2, "MSC", "Q7-TCTC", 0, OK, p2_not_a_laptop},
- {0x8086, 0x7190, 0, 0, 0x8086, 0x7110, 0, 0, "^MS-6163 (i440BX)$", NULL, NULL, P3, "MSI", "MS-6163 (MS-6163 Pro)", 0, OK, intel_piix4_gpo14_raise},
---
-1.9.1
-
diff --git a/projects/flashrom/patches/0005-Workaround-MX25-reliable-operation.patch b/projects/flashrom/patches/0002-Workaround-for-MX25-chips.patch
index 472afd30..de6272c0 100644
--- a/projects/flashrom/patches/0005-Workaround-MX25-reliable-operation.patch
+++ b/projects/flashrom/patches/0002-Workaround-for-MX25-chips.patch
@@ -1,47 +1,59 @@
+From 886f1db7edbfc9ef4c9727b4f564c1e7e35d6565 Mon Sep 17 00:00:00 2001
+From: consts <grudnevkv@gmail.com>
+Date: Fri, 2 Mar 2018 07:03:37 +0000
+Subject: [PATCH] Workaround for MX25 chips
+
+https://notabug.org/libreboot/libreboot/issues/193
+---
+ cli_classic.c | 5 +++++
+ programmer.h | 1 +
+ spi.c | 9 +++++++++
+ 3 files changed, 15 insertions(+)
+
diff --git a/cli_classic.c b/cli_classic.c
-index 0a09cfd..9eeafe1 100644
+index 31f7394..c60168c 100644
--- a/cli_classic.c
+++ b/cli_classic.c
-@@ -61,6 +61,7 @@ static void cli_classic_usage(const char *name)
- " -i | --image <name> only flash image <name> from flash layout\n"
+@@ -62,6 +62,7 @@ static void cli_classic_usage(const char *name)
" -o | --output <logfile> log output to <logfile>\n"
+ " --flash-contents <ref-file> assume flash contents to be <ref-file>\n"
" -L | --list-supported print supported devices\n"
-+ " | --workaround-mx keep flash busy before sending command\n"
++ " -m | --workaround-mx keep flash busy before sending command\n"
#if CONFIG_PRINT_WIKI == 1
" -z | --list-supported-wiki print supported devices in wiki syntax\n"
#endif
-@@ -130,6 +131,7 @@ int main(int argc, char *argv[])
+@@ -136,6 +137,7 @@ int main(int argc, char *argv[])
{"help", 0, NULL, 'h'},
{"version", 0, NULL, 'R'},
{"output", 1, NULL, 'o'},
-+ {"workaround-mx", 0, NULL, 0x0101},
++ {"workaround-mx", 0, NULL, 'm'},
{NULL, 0, NULL, 0},
};
-@@ -337,6 +339,9 @@ int main(int argc, char *argv[])
+@@ -347,6 +349,9 @@ int main(int argc, char *argv[])
}
#endif /* STANDALONE */
break;
-+ case 0x0101: /* --workaround-mx */
-+ workaround_mx = 1;
-+ break;
++ case 'm': /* --workaround-mx */
++ workaround_mx = 1;
++ break;
default:
cli_classic_abort_usage();
break;
diff --git a/programmer.h b/programmer.h
-index 1a6216a..6f97cfc 100644
+index 139f4fa..f54e690 100644
--- a/programmer.h
+++ b/programmer.h
-@@ -650,6 +650,7 @@ enum ich_chipset {
- CHIPSET_8_SERIES_WELLSBURG,
- CHIPSET_9_SERIES_WILDCAT_POINT,
+@@ -664,6 +664,7 @@ enum ich_chipset {
+ CHIPSET_100_SERIES_SUNRISE_POINT, /* also 6th/7th gen Core i/o (LP) variants */
+ CHIPSET_C620_SERIES_LEWISBURG,
};
+extern int workaround_mx; /* workaround for MX25* chips, makes flash operations more reliable, less failures */
/* ichspi.c */
#if CONFIG_INTERNAL == 1
diff --git a/spi.c b/spi.c
-index 894f73f..05aa5d0 100644
+index 56f1fdf..4e61d88 100644
--- a/spi.c
+++ b/spi.c
@@ -30,10 +30,19 @@
@@ -64,3 +76,6 @@ index 894f73f..05aa5d0 100644
return flash->mst->spi.command(flash, writecnt, readcnt, writearr,
readarr);
}
+--
+1.9.1
+
diff --git a/projects/flashrom/patches/0003-purged-chips.patch b/projects/flashrom/patches/0003-purged-chips.patch
deleted file mode 100644
index 0dc7e2bc..00000000
--- a/projects/flashrom/patches/0003-purged-chips.patch
+++ /dev/null
@@ -1,354 +0,0 @@
-From 260f0e096b385c9f53e9a28e79293131a11122a6 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <info@minifree.org>
-Date: Fri, 11 Mar 2016 06:50:50 +0000
-Subject: [PATCH 1/1] purged chips
-
----
- flashchips.c | 303 -----------------------------------------------------------
- 1 file changed, 303 deletions(-)
-
-diff --git a/flashchips.c b/flashchips.c
-index 0fc1b7a..5c94304 100644
---- a/flashchips.c
-+++ b/flashchips.c
-@@ -7451,80 +7451,6 @@ const struct flashchip flashchips[] = {
-
- {
- .vendor = "Macronix",
-- .name = "MX25L1605",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L1605,
-- .total_size = 2048,
-- .page_size = 256,
-- .feature_bits = FEATURE_WRSR_WREN,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {64 * 1024, 32} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 32} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {2 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {2 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- },
-- },
-- .printlock = spi_prettyprint_status_register_bp2_srwd, /* bit6: error flag */
-- .unlock = spi_disable_blockprotect,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
-- .name = "MX25L1605A/MX25L1606E/MX25L1608E",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L1605,
-- .total_size = 2048,
-- .page_size = 256,
-- /* OTP: 64B total; enter 0xB1, exit 0xC1 (MX25L1606E and MX25L1608E only) */
-- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {4 * 1024, 512} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 32} },
-- .block_erase = spi_block_erase_52,
-- }, {
-- .eraseblocks = { {64 * 1024, 32} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {2 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {2 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- },
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd, /* MX25L1605A bp2 only */
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) supported (MX25L1608E supports dual-I/O read) */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
- .name = "MX25L1605D/MX25L1608D/MX25L1673E",
- .bustype = BUS_SPI,
- .manufacture_id = MACRONIX_ID,
-@@ -7632,41 +7558,6 @@ const struct flashchip flashchips[] = {
-
- {
- .vendor = "Macronix",
-- .name = "MX25L3205(A)",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L3205,
-- .total_size = 4096,
-- .page_size = 256,
-- .feature_bits = FEATURE_WRSR_WREN,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {64 * 1024, 64} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 64} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- },
-- },
-- .printlock = spi_prettyprint_status_register_bp2_srwd, /* bit6: error flag */
-- .unlock = spi_disable_blockprotect,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
- .name = "MX25L3205D/MX25L3208D",
- .bustype = BUS_SPI,
- .manufacture_id = MACRONIX_ID,
-@@ -7703,84 +7594,6 @@ const struct flashchip flashchips[] = {
-
- {
- .vendor = "Macronix",
-- .name = "MX25L3206E/MX25L3208E",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L3205,
-- .total_size = 4096,
-- .page_size = 256,
-- /* OTP: 64B total; enter 0xB1, exit 0xC1 */
-- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {4 * 1024, 1024} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 64} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {64 * 1024, 64} },
-- .block_erase = spi_block_erase_52,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- },
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd,
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) and dual I/O supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
-- .name = "MX25L3273E",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L3205,
-- .total_size = 4096,
-- .page_size = 256,
-- /* OTP: 64B total; enter 0xB1, exit 0xC1 */
-- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {4 * 1024, 1024} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {32 * 1024, 128} },
-- .block_erase = spi_block_erase_52,
-- }, {
-- .eraseblocks = { {64 * 1024, 64} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {4 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- },
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd,
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) and dual I/O supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
- .name = "MX25L3235D",
- .bustype = BUS_SPI,
- .manufacture_id = MACRONIX_ID,
-@@ -7817,42 +7630,6 @@ const struct flashchip flashchips[] = {
-
- {
- .vendor = "Macronix",
-- .name = "MX25L6405",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L6405,
-- .total_size = 8192,
-- .page_size = 256,
-- /* Has an additional 512B EEPROM sector */
-- .feature_bits = FEATURE_WRSR_WREN,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {64 * 1024, 128} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 128} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- }
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6: error flag */
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
- .name = "MX25L6405D",
- .bustype = BUS_SPI,
- .manufacture_id = MACRONIX_ID,
-@@ -7889,86 +7666,6 @@ const struct flashchip flashchips[] = {
-
- {
- .vendor = "Macronix",
-- .name = "MX25L6406E/MX25L6408E",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L6405,
-- .total_size = 8192,
-- .page_size = 256,
-- /* MX25L6406E supports SFDP */
-- /* OTP: 06E 64B total; enter 0xB1, exit 0xC1 */
-- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {4 * 1024, 2048} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {64 * 1024, 128} },
-- .block_erase = spi_block_erase_52,
-- }, {
-- .eraseblocks = { {64 * 1024, 128} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- }
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd,
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B), dual I/O read supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
-- .name = "MX25L6436E/MX25L6445E/MX25L6465E/MX25L6473E",
-- .bustype = BUS_SPI,
-- .manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L6405,
-- .total_size = 8192,
-- .page_size = 256,
-- /* supports SFDP */
-- /* OTP: 512B total; enter 0xB1, exit 0xC1 */
-- .feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP,
-- .tested = TEST_OK_PREW,
-- .probe = probe_spi_rdid,
-- .probe_timing = TIMING_ZERO,
-- .block_erasers =
-- {
-- {
-- .eraseblocks = { {4 * 1024, 2048} },
-- .block_erase = spi_block_erase_20,
-- }, {
-- .eraseblocks = { {32 * 1024, 256} },
-- .block_erase = spi_block_erase_52,
-- }, {
-- .eraseblocks = { {64 * 1024, 128} },
-- .block_erase = spi_block_erase_d8,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_60,
-- }, {
-- .eraseblocks = { {8 * 1024 * 1024, 1} },
-- .block_erase = spi_block_erase_c7,
-- }
-- },
-- .printlock = spi_prettyprint_status_register_bp3_srwd, /* bit6 is quad enable */
-- .unlock = spi_disable_blockprotect_bp3_srwd,
-- .write = spi_chip_write_256,
-- .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
-- .voltage = {2700, 3600},
-- },
--
-- {
-- .vendor = "Macronix",
- .name = "MX25L12805D",
- .bustype = BUS_SPI,
- .manufacture_id = MACRONIX_ID,
---
-1.9.1
-
diff --git a/projects/flashrom/patches/0004-Whitelist-ThinkPad-W500.patch b/projects/flashrom/patches/0004-Whitelist-ThinkPad-W500.patch
deleted file mode 100644
index bb1c2bc3..00000000
--- a/projects/flashrom/patches/0004-Whitelist-ThinkPad-W500.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-From 8c970dcf19661bc3d128a10e3ca79c24b4479186 Mon Sep 17 00:00:00 2001
-From: Gauvain Roussel-Tarbouriech <govanify@protonmail.com>
-Date: Sat, 29 Apr 2017 19:01:11 +0200
-Subject: [PATCH 1/1] Whitelist ThinkPad W500
-
----
- board_enable.c | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/board_enable.c b/board_enable.c
-index fc99615..a418e4f 100644
---- a/board_enable.c
-+++ b/board_enable.c
-@@ -2430,6 +2430,7 @@ const struct board_match board_matches[] = {
- {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad R400", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad R400", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad T400", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T400", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad T500", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T500", 0, OK, p2_whitelist_laptop},
-+ {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad W500", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad W500", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x1E22, 0x17AA, 0x21F6, 0x8086, 0x1E55, 0x17AA, 0x21F6, "^ThinkPad T530", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T530", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x27a0, 0x17aa, 0x2015, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60", 0, OK, p2_whitelist_laptop},
- {0x8086, 0x27a0, 0x17aa, 0x2017, 0x8086, 0x27b9, 0x17aa, 0x2009, "^ThinkPad T60", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T60(s)", 0, OK, p2_whitelist_laptop},
---
-2.12.2
-
diff --git a/projects/flashrom/patches/lenovobios/0001-Lenovobios-adaptation-for-Macronix-and-SST-chips.patch b/projects/flashrom/patches/lenovobios/0001-Lenovobios-adaptation-for-Macronix-and-SST-chips.patch
index 1cb843c9..2a383fd1 100644
--- a/projects/flashrom/patches/lenovobios/0001-Lenovobios-adaptation-for-Macronix-and-SST-chips.patch
+++ b/projects/flashrom/patches/lenovobios/0001-Lenovobios-adaptation-for-Macronix-and-SST-chips.patch
@@ -1,22 +1,21 @@
-From aa2dd05f61f6ca91212d7f6d4055486af6e01436 Mon Sep 17 00:00:00 2001
-From: Leah Rowe <info@minifree.org>
-Date: Fri, 5 Aug 2016 22:40:49 +0200
+From 85eea125194414b6afc8053565bb333f06054421 Mon Sep 17 00:00:00 2001
+From: Leah Rowe <leah@libreboot.org>
+Date: Fri, 2 Mar 2018 06:47:34 +0000
Subject: [PATCH] Lenovobios adaptation for Macronix and SST chips
-Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
flashchips.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)
diff --git a/flashchips.c b/flashchips.c
-index e5ea181..f3a017c 100644
+index 7f85415..16b166b 100644
--- a/flashchips.c
+++ b/flashchips.c
-@@ -7454,12 +7454,12 @@ const struct flashchip flashchips[] = {
+@@ -7634,12 +7634,12 @@ const struct flashchip flashchips[] = {
.name = "MX25L1605D/MX25L1608D/MX25L1673E",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
-- .model_id = MACRONIX_MX25L1605,
+- .model_id = 0xDEAD,
+ .model_id = 0x14,
.total_size = 2048,
.page_size = 256,
@@ -27,7 +26,7 @@ index e5ea181..f3a017c 100644
.probe_timing = TIMING_ZERO,
.block_erasers =
{
-@@ -9857,7 +9857,7 @@ const struct flashchip flashchips[] = {
+@@ -10442,7 +10442,7 @@ const struct flashchip flashchips[] = {
},
.printlock = spi_prettyprint_status_register_bp2_srwd,
.unlock = spi_disable_blockprotect,
@@ -36,7 +35,7 @@ index e5ea181..f3a017c 100644
.read = spi_chip_read, /* Fast read (0x0B), dual I/O supported */
.voltage = {2700, 3600},
},
-@@ -12150,12 +12150,12 @@ const struct flashchip flashchips[] = {
+@@ -12735,12 +12735,12 @@ const struct flashchip flashchips[] = {
.name = "SST25VF016B",
.bustype = BUS_SPI,
.manufacture_id = SST_ID,
@@ -51,7 +50,7 @@ index e5ea181..f3a017c 100644
.probe_timing = TIMING_ZERO,
.block_erasers =
{
-@@ -12178,7 +12178,7 @@ const struct flashchip flashchips[] = {
+@@ -12763,7 +12763,7 @@ const struct flashchip flashchips[] = {
},
.printlock = spi_prettyprint_status_register_sst25vf016,
.unlock = spi_disable_blockprotect,
@@ -61,5 +60,5 @@ index e5ea181..f3a017c 100644
.voltage = {2700, 3600},
},
--
-2.9.0
+1.9.1