summaryrefslogtreecommitdiffstats
path: root/resources/flashrom/patch/purged_chips.diff
diff options
context:
space:
mode:
authorFrancis Rowe <info@gluglug.org.uk>2014-12-29 21:13:49 (EST)
committer Francis Rowe <info@gluglug.org.uk>2014-12-29 21:30:36 (EST)
commit3e60ad76e2cef38bc59f6055c677ea2d890e10fe (patch)
tree782a8a0bb988aae3db5847aae9d56e832e480056 /resources/flashrom/patch/purged_chips.diff
parent05d821cecb953efd2cbc2d7cb21278a33a59000b (diff)
downloadlibreboot-3e60ad76e2cef38bc59f6055c677ea2d890e10fe.zip
libreboot-3e60ad76e2cef38bc59f6055c677ea2d890e10fe.tar.gz
libreboot-3e60ad76e2cef38bc59f6055c677ea2d890e10fe.tar.bz2
Removed redundant flashchip definitions in flashrom
For X200 owners with one of the Macronix flash chips. There are multiple definitions for almost the same chip, and they are all detected at once. Normally the user has to use the -c argument in flashrom to select a flash chip. With this modification, they can run flashrom without the argument. Deletion of redundant flash chip definitions is now also handled by getflashrom instead of builddeps-flashrom. builddeps-flashrom now only patches for i945 lenovo bios sst/macronix.
Diffstat (limited to 'resources/flashrom/patch/purged_chips.diff')
-rw-r--r--resources/flashrom/patch/purged_chips.diff293
1 files changed, 293 insertions, 0 deletions
diff --git a/resources/flashrom/patch/purged_chips.diff b/resources/flashrom/patch/purged_chips.diff
new file mode 100644
index 0000000..8795495
--- /dev/null
+++ b/resources/flashrom/patch/purged_chips.diff
@@ -0,0 +1,293 @@
+--- flashchips.c 2014-12-29 23:36:27.463726125 +0000
++++ flashchips.c_defspurged 2014-12-30 01:53:02.300362113 +0000
+@@ -6602,80 +6602,6 @@
+
+ {
+ .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",
+- .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 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,
+- .write = spi_chip_write_256,
+- .read = spi_chip_read, /* Fast read (0x0B) supported */
+- .voltage = {2700, 3600},
+- },
+-
+- {
+- .vendor = "Macronix",
+ .name = "MX25L1605D/MX25L1608D/MX25L1673E",
+ .bustype = BUS_SPI,
+ .manufacture_id = MACRONIX_ID,
+@@ -6783,41 +6709,6 @@
+
+ {
+ .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,
+@@ -6854,84 +6745,6 @@
+
+ {
+ .vendor = "Macronix",
+- .name = "MX25L3206E",
+- .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,
+- .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_UNTESTED,
+- .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,
+- .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,
+@@ -7002,82 +6815,6 @@
+ .voltage = {2700, 3600},
+ },
+
+- {
+- .vendor = "Macronix",
+- .name = "MX25L6406E/MX25L6436E",
+- .bustype = BUS_SPI,
+- .manufacture_id = MACRONIX_ID,
+- .model_id = MACRONIX_MX25L6405,
+- .total_size = 8192,
+- .page_size = 256,
+- /* OTP: 06E 64B/36E 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 = { {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 for 36E is quad enable */
+- .unlock = spi_disable_blockprotect,
+- .write = spi_chip_write_256,
+- .read = spi_chip_read,
+- .voltage = {2700, 3600},
+- },
+-
+- {
+- .vendor = "Macronix",
+- .name = "MX25L6445E/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,
+- .write = spi_chip_write_256,
+- .read = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */
+- .voltage = {2700, 3600},
+- },
+-
+ {
+ .vendor = "Macronix",
+ .name = "MX25L12805(D)",