aboutsummaryrefslogtreecommitdiff
path: root/projects/flashrom/patches
diff options
context:
space:
mode:
Diffstat (limited to 'projects/flashrom/patches')
-rw-r--r--projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch91
-rw-r--r--projects/flashrom/patches/0003-purged-chips.patch354
2 files changed, 91 insertions, 354 deletions
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/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
-