--- flashchips.c 2014-12-14 11:05:12.512662091 +0000
+++ flashchips.c.patch.i945_lenovobios_sst 2014-12-14 11:11:27.790522994 +0000
@@ -6602,115 +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,
- .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 = { {4 * 1024, 512} },
- .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_bp3_srwd, /* bit6: Continuously Program (CP) mode */
- .unlock = spi_disable_blockprotect,
- .write = spi_chip_write_256,
- .read = spi_chip_read, /* Fast read (0x0B), dual I/O supported */
- .voltage = {2700, 3600},
- },
-
- {
- .vendor = "Macronix",
.name = "MX25L1635D",
.bustype = BUS_SPI,
.manufacture_id = MACRONIX_ID,
@@ -11149,12 +11040,12 @@
.name = "SST25VF016B",
.bustype = BUS_SPI,
.manufacture_id = SST_ID,
- .model_id = SST_SST25VF016B,
+ .model_id = 0x41,
.total_size = 2048,
.page_size = 256,
.feature_bits = FEATURE_WRSR_EITHER,
.tested = TEST_OK_PREW,
- .probe = probe_spi_rdid,
+ .probe = probe_spi_res2,
.probe_timing = TIMING_ZERO,
.block_erasers =
{
@@ -11177,7 +11068,7 @@
},
.printlock = spi_prettyprint_status_register_sst25vf016,
.unlock = spi_disable_blockprotect,
- .write = spi_aai_write,
+ .write = spi_chip_write_1,
.read = spi_chip_read,
.voltage = {2700, 3600},
},