From 92ecdf75c6aba933c6e92328ade43a982d5b0430 Mon Sep 17 00:00:00 2001 From: Andrew Robbins Date: Fri, 2 Mar 2018 00:23:24 -0500 Subject: Update flashrom patch for redundant Macronix chips --- .../0001-Purge-redundant-Macronix-chips.patch | 91 ++++++ projects/flashrom/patches/0003-purged-chips.patch | 354 --------------------- 2 files changed, 91 insertions(+), 354 deletions(-) create mode 100644 projects/flashrom/patches/0001-Purge-redundant-Macronix-chips.patch delete mode 100644 projects/flashrom/patches/0003-purged-chips.patch 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 +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 -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 - -- cgit v1.2.3-70-g09d2