On Sun, 10 Jul 2011 16:07:33 -0400
> 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