Hi!<br><br>I've got HP EliteBook 9470m, which contains (according to ID, didn't check) Numonyx N25Q128. So I added this chip to flashrom, but anything except probe fails with transaction error:<br><br>Reading flash... Transaction error!<br>

SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0<br>SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=4<br>Running OPCODE 0x03 failed at address 0x003000 (payload length was 64).<br>Read operation failed!<br><br> Can anything be done here? Logs attached. Patch (dirty) below.<br>

--<br>diff -Nur flashrom/flashchips.c flashrom-m/flashchips.c<br>--- flashrom/flashchips.c    2013-03-19 21:06:22.307763803 +0400<br>+++ flashrom-m/flashchips.c    2013-03-19 19:04:42.000000000 +0400<br>@@ -6561,6 +6561,40 @@<br>

     },<br> <br>     {<br>+        .vendor        = "Numonyx",<br>+        .name        = "N25Q128", <br>+        .bustype    = BUS_SPI,<br>+        .manufacture_id = ST_ID,<br>+        .model_id    = ST_N25Q128,<br>

+        .total_size    = 16384,<br>+        .page_size    = 256,<br>+        /* supports SFDP */<br>+        /* OTP: 64B total; read 0x4B, write 0x42 */<br>+        .feature_bits    = FEATURE_WRSR_WREN | FEATURE_OTP,<br>

+        .tested        = TEST_UNTESTED,<br>+        .probe        = probe_spi_rdid,<br>+        .probe_timing    = TIMING_ZERO,<br>+        .block_erasers    =<br>+        {<br>+            {<br>+                .eraseblocks = { {4 * 1024, 4096 } },<br>

+                .block_erase = spi_block_erase_20,<br>+            }, {<br>+                .eraseblocks = { {64 * 1024, 256} },<br>+                .block_erase = spi_block_erase_d8,<br>+            }, {<br>+                .eraseblocks = { {16 * 1024 * 1024, 1} },<br>

+                .block_erase = spi_block_erase_c7,<br>+            }<br>+        },<br>+        .printlock    = spi_prettyprint_status_register_plain, /* TODO: improve */<br>+        .unlock        = spi_disable_blockprotect,<br>

+        .write        = spi_chip_write_256,<br>+        .read        = spi_chip_read, /* Fast read (0x0B) and multi I/O supported */<br>+        .voltage    = {2700, 3600},<br>+    },<br>+<br>+    {<br>         .vendor        = "PMC",<br>

         .name        = "Pm25LV010",<br>         .bustype    = BUS_SPI,<br>diff -Nur flashrom/flashchips.h flashrom-m/flashchips.h<br>--- flashrom/flashchips.h    2013-03-19 21:06:24.747763812 +0400<br>+++ flashrom-m/flashchips.h    2013-03-19 19:05:12.000000000 +0400<br>

@@ -615,6 +615,7 @@<br> #define ST_N25Q032__1E        0xBB16        /* N25Q032, 1.8V, (uniform sectors expected) */<br> #define ST_N25Q064__3E        0xBA17        /* N25Q064, 3.0V, (uniform sectors expected) */<br> #define ST_N25Q064__1E        0xBB17        /* N25Q064, 1.8V, (uniform sectors expected) */<br>

+#define ST_N25Q128        0xBA18        /* N25Q128, 3.0V, (uniform sectors expected) */<br> <br> #define SYNCMOS_MVC_ID        0x40    /* SyncMOS (SM) and Mosel Vitelic Corporation (MVC) */<br> #define MVC_V29C51000T        0x00<br>

<br>