On Sun, Jul 10, 2011 at 5:27 PM, Stefan Tauner < stefan.tauner@student.tuwien.ac.at> wrote:
On Sun, 10 Jul 2011 16:07:33 -0400 Steven Zakulec spzakulec@gmail.com wrote:
Index: flashchips.c
--- flashchips.c (revision 1368) +++ flashchips.c (working copy) @@ -143,10 +143,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {4750, 5250}, /* -55 speed is +-5%, all
others +-10% */
}, { .vendor = "AMD", .name = "Am29F016D",
@@ -254,10 +255,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /* -45R speed is 3.0-3.6V,
others 2.7-3.6V */
}, { .vendor = "AMD", .name = "Am29LV001BT",
@@ -284,10 +286,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /* -45R speed is 3.0-3.6V,
others 2.7-3.6V */
}, { .vendor = "AMD", .name = "Am29LV002BB",
@@ -315,10 +318,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /* -55 speed is 3.0-3.6V,
others 2.7-3.6V */
}, { .vendor = "AMD", .name = "Am29LV002BT",
@@ -346,10 +350,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /* -55 speed is 3.0-3.6V,
others 2.7-3.6V */
}, { .vendor = "AMD", .name = "Am29LV004BB",
@@ -377,10 +382,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {2700, 3600}, }, { .vendor = "AMD", .name = "Am29LV004BT",
@@ -408,10 +414,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {2700, 3600}, }, { .vendor = "AMD", .name = "Am29LV008BB",
@@ -439,10 +446,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600} /* 3.0-3.6V (-70R), 2.7-3.6V
for others */
}, { .vendor = "AMD", .name = "Am29LV008BT",
@@ -470,10 +478,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600} /* 3.0-3.6V (-70R), 2.7-3.6V
for others */
}, { .vendor = "AMD", .name = "Am29LV040B",
@@ -496,11 +505,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {2700, 3600},
.voltage = {3000, 3600}, /* 3.0-3.6V (-60R),
2.7-3.6V for others */
}, { .vendor = "AMD", .name = "Am29LV081B",
@@ -523,11 +532,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {2700, 3600},
.voltage = {3000, 3600}, /* regulated voltage range-
full range is 2.7-3.6V */
probably a speed grade distinction again?
}, { .vendor = "AMIC", .name = "A25L05PT",
@@ -589,10 +598,11 @@ }, .printlock =
spi_prettyprint_status_register_amic_a25l05p,
.unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "AMIC", .name = "A25L10PT",
@@ -1330,11 +1340,11 @@ }, .printlock = spi_prettyprint_status_register_at25df, .unlock = spi_disable_blockprotect_at25df, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2300, 3600}, /* Datasheet says 2.3-3.6V
or 2.7-3.6V */
.voltage = {2700, 3600}, /* Datasheet says there's a
2.3-3.6V & 2.7-3.6V model */
}, { .vendor = "Atmel", .name = "AT25DF041A",
@@ -1368,11 +1378,11 @@ }, .printlock = spi_prettyprint_status_register_at25df, .unlock = spi_disable_blockprotect_at25df, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2300, 3600}, /* Datasheet says 2.3-3.6V
or 2.7-3.6V */
.voltage = {2700, 3600}, /* Datasheet says there's a
2.3-3.6V & 2.7-3.6V model */
}, { .vendor = "Atmel", .name = "AT25DF081",
@@ -1444,10 +1454,11 @@ }, .printlock =
spi_prettyprint_status_register_at25df_sec,
.unlock = spi_disable_blockprotect_at25df_sec, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "Atmel", .name = "AT25DF161",
@@ -1771,11 +1782,11 @@ .block_erase = spi_block_erase_20, } }, .write = NULL /* Incompatible Page write */, .read = spi_chip_read,
.voltage = {2700, 3600}, /* Datasheet says 3.0-3.6 V
or 2.7-3.6 V */
.voltage = {2700, 3600}, /* Datasheet says 3.0-3.6 V
or 2.7-3.6 V- either range is fine */
that comment is a bit vague... i like the one of the AT25DF041A above better.
}, { .vendor = "Atmel", .name = "AT26DF081A",
@@ -2112,11 +2123,11 @@ .tested = TEST_BAD_READ, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .write = NULL, .read = NULL,
.voltage = {2500, 3600}, /* Datasheet says 2.5-3.6 V
or 2.7-3.6 V */
.voltage = {2700, 3600}, /* Datasheet says 2.5-3.6 V
or 2.7-3.6 V */
}, { .vendor = "Atmel", .name = "AT45DB161D",
@@ -2128,11 +2139,11 @@ .tested = TEST_BAD_READ, .probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .write = NULL, .read = NULL,
.voltage = {2500, 3600}, /* Datasheet says 2.5-3.6 V
or 2.7-3.6 V */
.voltage = {2700, 3600}, /* Datasheet says 2.5-3.6 V
or 2.7-3.6 V */
}, { .vendor = "Atmel", .name = "AT45DB321C",
@@ -2315,10 +2326,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {4500, 5500}, }, { .vendor = "EMST", .name = "F49B002UA",
@@ -3499,10 +3511,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {4500, 5500}, }, { .vendor = "Intel", .name = "28F001BN/BX-B",
@@ -4050,10 +4063,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "Macronix", .name = "MX25L3205",
@@ -4342,10 +4356,11 @@ .block_erase = erase_chip_block_jedec, }, }, .write = write_jedec_1, .read = read_memmapped,
.voltage = {4500, 5500}, }, { .vendor = "Macronix", .name = "MX29LV040",
@@ -4773,10 +4788,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "PMC", .name = "Pm25LV020",
@@ -4898,10 +4914,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "PMC", .name = "Pm29F002T",
@@ -5199,10 +5216,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "Spansion", .name = "S25FL008A",
@@ -5279,10 +5297,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "Spansion", .name = "S25FL064A",
@@ -5305,10 +5324,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "SST", .name = "SST25VF010.REMS",
@@ -5334,10 +5354,11 @@ }, }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_1, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "SST", .name = "SST25VF016B",
@@ -5471,10 +5492,11 @@ }, }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_1, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "SST", .name = "SST25VF040B",
@@ -5536,10 +5558,11 @@ }, }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_1, .read = spi_chip_read,
.voltage = {3000, 3600}, }, { .vendor = "SST", .name = "SST25VF040B.REMS",
@@ -5571,10 +5594,11 @@ }, }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_1, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "SST", .name = "SST25VF080B",
@@ -5769,11 +5793,11 @@ .manufacture_id = SST_ID, .model_id = SST_SST39SF010, .total_size = 128, .page_size = 4096, .feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
.tested = TEST_OK_PR,
why?
.probe = probe_jedec, .probe_timing = 1, /* 150 ns */ .block_erasers = { {
@@ -6703,11 +6727,11 @@ .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = ST_ID, .model_id = ST_M25P128, .total_size = 16384, .page_size = 256,
.tested = TEST_OK_PREW,
.tested = TEST_UNTESTED,
why?
.probe = probe_spi_rdid, .probe_timing = TIMING_ZERO, .block_erasers = { {
@@ -6778,10 +6802,11 @@ } }, .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {2700, 3600}, }, { .vendor = "ST", .name = "M25PX64",
@@ -7774,11 +7799,11 @@ .read = spi_chip_read, },
{ .vendor = "Winbond",
.name = "W25X10",
.name = "W25x10",
ah i think i see the pattern... you are reverting my last changes. you need to rebase your changes on top of mine/the ones in svn instead.
.bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X10, .total_size = 128, .page_size = 256,
@@ -7805,11 +7830,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X20",
.name = "W25x20", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X20, .total_size = 256, .page_size = 256,
@@ -7836,11 +7861,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X40",
.name = "W25x40", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X40, .total_size = 512, .page_size = 256,
@@ -7867,11 +7892,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X80",
.name = "W25x80", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X80, .total_size = 1024, .page_size = 256,
@@ -7898,11 +7923,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X16",
.name = "W25x16", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X16, .total_size = 2048, .page_size = 256,
@@ -7935,11 +7960,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X32",
.name = "W25x32", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X32, .total_size = 4096, .page_size = 256,
@@ -7972,11 +7997,11 @@ .voltage = {2700, 3600}, },
{ .vendor = "Winbond",
.name = "W25X64",
.name = "W25x64", .bustype = CHIP_BUSTYPE_SPI, .manufacture_id = WINBOND_NEX_ID, .model_id = WINBOND_NEX_W25X64, .total_size = 8192, .page_size = 256,
@@ -8039,13 +8064,13 @@ .manufacture_id = WINBOND_ID, .model_id = WINBOND_W29C020, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_LONG_RESET,
.tested = TEST_OK_PREW,
.tested = TEST_OK_PRE, .probe = probe_jedec,
.probe_timing = 10,
.probe_timing = 10, .block_erasers = { { .eraseblocks = { {256 * 1024, 1} }, .block_erase = erase_chip_block_jedec,
@@ -8129,10 +8154,11 @@ } }, .printlock = printlock_w39l040, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, }, { .vendor = "Winbond", .name = "W39V040A",
@@ -8273,10 +8299,11 @@ }, .printlock = printlock_w39v040fb, .unlock = unlock_w39v040fb, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /*Also offers a 12V fast
program */
space after /* please
}, { .vendor = "Winbond", .name = "W39V040FC",
@@ -8300,10 +8327,11 @@ } }, .printlock = printlock_w39v040fc, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /*Also offers a 12V fast
program */
again
}, { .vendor = "Winbond", .name = "W39V080A",
@@ -8395,13 +8423,13 @@ .manufacture_id = WINBOND_ID, .model_id = WINBOND_W49V002A, .total_size = 256, .page_size = 128, .feature_bits = FEATURE_EITHER_RESET,
.tested = TEST_OK_PREW,
.tested = TEST_OK_PRE, .probe = probe_jedec,
.probe_timing = 10,
.probe_timing = 10, .block_erasers = { { .eraseblocks = { {64 * 1024, 3},
@@ -8504,10 +8532,11 @@ } }, .printlock = printlock_w39v080fa_dual, .write = write_jedec_1, .read = read_memmapped,
.voltage = {3000, 3600}, /* 12 V fast program mode
*/
}, { .vendor = "AMIC", .name = "unknown AMIC SPI chip",
i just skimmed through it, so i may have missed a few things.
thanks for trying to provide more context in the patch. it is not enough though... the number of 5 i told you was just an example. this adds 5 lines above and 5 lines below every change in a patch. what i wanted to accomplish is that the model name of every chip that is changed is mentioned in the patch. so depending on the number of erasers in the affected chips a number as high as 20 or so is needed (another example number).
I believe I've addressed all of your issues. What's the correct datasheet for M25PX16 ? There seem to be several of
them
, by different companies.
st created a joint venture with others forming numonyx. numonyx was acquired by micron later... http://www.micron.com/get-document/?documentId=5983 -- Kind regards/Mit freundlichen Grüßen, Stefan Tauner
flashrom mailing list flashrom@flashrom.org http://www.flashrom.org/mailman/listinfo/flashrom
Here's a new version rebased on r1368, with no extraneous changes.