[flashrom] [commit] r1612 - trunk

repository service svn at flashrom.org
Thu Oct 4 16:41:21 CEST 2012


Author: stefanct
Date: Thu Oct  4 16:41:20 2012
New Revision: 1612
URL: http://flashrom.org/trac/flashrom/changeset/1612

Log:
Differentiate Numonyx N25Q064 1.8V and 3.0V versions.

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 more characters of the part
number. The first two of those characters indicate the process
technology (65nm) and feature set (hold pin etc.), neither of which
matter for flashrom at the moment. The third and fourth characters
specify voltage and block/sector size and uniformity, which are
important and hence included.

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 at google.com>
Acked-by: Stefan Tauner <stefan.tauner at student.tuwien.ac.at>

Modified:
   trunk/flashchips.c
   trunk/flashchips.h

Modified: trunk/flashchips.c
==============================================================================
--- trunk/flashchips.c	Tue Oct  2 00:45:08 2012	(r1611)
+++ trunk/flashchips.c	Thu Oct  4 16:41:20 2012	(r1612)
@@ -5587,12 +5587,48 @@
 
 	{
 		.vendor		= "Numonyx",
-		.name		= "N25Q064",
+		.name		= "N25Q064..1E", /* ..1E = 1.8V, uniform 64KB/4KB blocks/sectors */
 		.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_UNTESTED,
+		.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_d8,
+			}, {
+				.eraseblocks = { {8 * 1024 * 1024, 1} },
+				.block_erase = spi_block_erase_c7,
+			}
+		},
+		.unlock		= spi_disable_blockprotect,
+		.write		= spi_chip_write_256,
+		.read		= spi_chip_read,
+		.voltage	= {1700, 2000},
+	},
+
+	{
+		.vendor		= "Numonyx",
+		.name		= "N25Q064..3E", /* ..3E = 3V, uniform 64KB/4KB blocks/sectors */
+		.bustype	= BUS_SPI,
+		.manufacture_id = ST_ID,
+		.model_id	= ST_N25Q064__3E,
+		.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,
 		.probe		= probe_spi_rdid,
 		.probe_timing	= TIMING_ZERO,
@@ -5612,6 +5648,7 @@
 		.unlock		= spi_disable_blockprotect,
 		.write		= spi_chip_write_256,
 		.read		= spi_chip_read,
+		.voltage	= {2700, 3600},
 	},
 
 	{

Modified: trunk/flashchips.h
==============================================================================
--- trunk/flashchips.h	Tue Oct  2 00:45:08 2012	(r1611)
+++ trunk/flashchips.h	Thu Oct  4 16:41:20 2012	(r1612)
@@ -591,7 +591,8 @@
 #define ST_M29W010B		0x23
 #define ST_M29W040B		0xE3
 #define ST_M29W512B		0x27
-#define ST_N25Q064		0xBA17
+#define ST_N25Q064__3E		0xBA17  /* N25Q064, 3.0V, 64KB/4KB blocks/sectors */
+#define ST_N25Q064__1E		0xBB17  /* N25Q064, 1.8V, 64KB/4KB blocks/sectors */
 
 #define SYNCMOS_MVC_ID		0x40	/* SyncMOS (SM) and Mosel Vitelic Corporation (MVC) */
 #define MVC_V29C51000T		0x00




More information about the flashrom mailing list