On Wed, 25 Jul 2012 16:08:58 -0700 David Hendricks dhendrix@google.com wrote:
This patch differentiates between the N25Q064 1.8V version and 3.0V version which have different JEDEC IDs.
It extends the chip name to include the first few characters in the part number. The first two of those characters indicate the process technology (65nm) and feature set, neither of which matter for Flashrom. The third and fourth characters specify voltage and block/sector size and uniformity, which are important.
To abstract the irrelevant portions of the part number leading up to the characters we care about, dots are used. This helps prevent unwanted changes in chip name that can break fragile scripts and confuse people. More about this schema here: http://www.flashrom.org/pipermail/flashrom/2012-July/009595.html
Signed-off-by: David Hendricks dhendrix@google.com
Index: flashchips.c
--- flashchips.c (revision 1553) +++ flashchips.c (working copy) @@ -5425,12 +5425,16 @@
{ .vendor = "Numonyx",
.name = "N25Q064",
/* ..1E = 1.8V, uniform 64KB/4KB blocks/sectors */
.name = "N25Q064..1E", .bustype = BUS_SPI, .manufacture_id = ST_ID,
.model_id = ST_N25Q064,
.model_id = ST_N25Q064__1E, .total_size = 8192, .page_size = 256,
/* supports SFDP */
/* OTP: 64B total; read 0x4B, write 0x42 */
.feature_bits = FEATURE_WRSR_WREN | FEATURE_OTP, .tested = TEST_OK_PREW,
did you really test the 1.8V version too?
.probe = probe_spi_rdid, .probe_timing = TIMING_ZERO,
@@ -5450,9 +5454,44 @@ .unlock = spi_disable_blockprotect, .write = spi_chip_write_256, .read = spi_chip_read,
.voltage = {1700, 2000}, }, {
.vendor = "Numonyx",
/* ..3E = 3V, uniform 64KB/4KB blocks/sectors */
.name = "N25Q064..3E",
.bustype = BUS_SPI,
.manufacture_id = ST_ID,
.model_id = ST_N25Q064__3E,
.total_size = 8192,
.page_size = 256,
/* supports SFDP */
Does it work as expected (testable by removing the chip definition)?
There are a number of other N25Q* chips available apparently. Do you plan to add them too (NB: http://patchwork.coreboot.org/patch/3652/)? Anyone else? Steven, our datasheet muncher maybe? :)