<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:PMingLiU;
        panose-1:2 2 5 0 0 0 0 0 0 0;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@PMingLiU";
        panose-1:2 2 5 0 0 0 0 0 0 0;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri","sans-serif";
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal">Hi,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I am having problem programing N25Q128 using flashrom0.9.7.  I got  the following errors from erasing  address at 0x83f000. I have tried different boards and they failed at the same locations.  There are three versions of N25Q128, uniform,
 top, and bottom. Only the 8 first/last sectors of top/bottom version supports subsector erase. But, from N25Q128 configuration in flashchip.c, it first tries SSE (0x20) for the entire chip. Could  it be the problem? Is there a fix for this? Thank you very
 much. <o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Found Micron/Numonyx/ST flash chip "N25Q128..3E" (16384 kB, SPI).<o:p></o:p></p>
<p class="MsoNormal">This chip may contain one-time programmable memory. flashrom cannot read<o:p></o:p></p>
<p class="MsoNormal">and may never be able to write it, hence it may not be able to completely<o:p></o:p></p>
<p class="MsoNormal">clone the contents of this chip (see man page for details).<o:p></o:p></p>
<p class="MsoNormal">Block protection is disabled.<o:p></o:p></p>
<p class="MsoNormal">Flash image seems to be a legacy BIOS. Disabling coreboot-related checks.<o:p></o:p></p>
<p class="MsoNormal">Reading old flash chip contents... done.<o:p></o:p></p>
<p class="MsoNormal">Erasing and writing flash chip... Trying erase function 0.....   <skip some subsector erase messages….. > 0x774000-0x774fff:S, 0x775000-0x775fff:S, 0x776000-0x776fff:S, 0x777000-0x777fff:S, 0x778000-0x778fff:S, 0x779000-0x779fff:S, 0x77a000-0x77afff:S,
 0x77b000-0x77bfff:S, 0x77c000-0x77cfff:S, 0x77d000-0x77dfff:S, 0x77e000-0x77efff:S, 0x77f000-0x77ffff:S, 0x780000-0x780fff:S, 0x781000-0x781fff:S, 0x782000-0x782fff:S, 0x783000-0x783fff:S, 0x784000-0x784fff:S, 0x785000-0x785fff:S, 0x786000-0x786fff:S, 0x787000-0x787fff:S,
 0x788000-0x788fff:S, 0x789000-0x789fff:S, 0x78a000-0x78afff:S, 0x78b000-0x78bfff:S, 0x78c000-0x78cfff:S, 0x78d000-0x78dfff:S, 0x78e000-0x78efff:S, 0x78f000-0x78ffff:S, 0x790000-0x790fff:S, 0x791000-0x791fff:S, 0x792000-0x792fff:S, 0x793000-0x793fff:S, 0x794000-0x794fff:S,
 0x795000-0x795fff:S, 0x796000-0x796fff:S, 0x797000-0x797fff:S, 0x798000-0x798fff:S, 0x799000-0x799fff:S, 0x79a000-0x79afff:S, 0x79b000-0x79bfff:S, 0x79c000-0x79cfff:S, 0x79d000-0x79dfff:S, 0x79e000-0x79efff:S, 0x79f000-0x79ffff:S, 0x7a0000-0x7a0fff:S, 0x7a1000-0x7a0
 (payload length was 64).<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">spi_nbyte_program failed during command execution at address 0x83f000<o:p></o:p></p>
<p class="MsoNormal">Reading current flash chip contents... done. Looking for another erase function.<o:p></o:p></p>
<p class="MsoNormal">Trying erase function 1... 0x000000-0x00ffff:S, 0x010000-0x01ffff:S, 0x020000-0x02ffff:S, 0x030000-0x03ffff:S, 0x040000-0x04ffff:S, 0x050000-0x05ffff:S, 0x060000-0x06ffff:S, 0x070000-0x07ffff:S, 0x080000-0x08ffff:S, 0x090000-0x09ffff:S,
 0x0a0000-0x0affff:S, 0x0b0000-0x0bffff:S, 0x0c0000-0x0cffff:S, 0x0d0000-0x0dffff:S, 0x0e0000-0x0effff:S, 0x0f0000-0x0fffff:S, 0x100000-0x10ffff:S, 0x110000-0x11ffff:S, 0x120000-0x12ffff:S, 0x130000-0x13ffff:S, 0x140000-0x14ffff:S, 0x150000-0x15ffff:S, 0x160000-0x16ffff:S,
 0x170000-0x17ffff:S, 0x180000-0x18ffff:S, 0x190000-0x19ffff:S, 0x1a0000-0x1affff:S, 0x1b0000-0x1bffff:S, 0x1c0000-0x1cffff:S, 0x1d0000-0x1dffff:S, 0x1e0000-0x1effff:S, 0x1f0000-0x1fffff:S, 0x200000-0x20ffff:S, 0x210000-0x21ffff:S, 0x220000-0x22ffff:S, 0x230000-0x23ffff:S,
 0x240000-0x24ffff:S, 0x250000-0x25ffff:S, 0x260000-0x26ffff:S, 0x270000-0x27ffff:S, 0x280000-0x28ffff:S, 0x290000-0x29ffff:S, 0x2a0000-0x2affff:S, 0x2b0000-0x2bffff:S, 0x2c0000-0x2cffff:S, 0x2d0000-0x2dffff:S, 0x2e0000-0x2effff:S, 0x2f0000-0x2fffff:S, 0x300000-0x30ffff:S,
 0x310000-0x31ffff:S, 0x320000-0x32ffff:S, 0x330000-0x33ffff:S, 0x340000-0x34ffff:S, 0x350000-0x35ffff:S, 0x360000-0x36ffff:S, 0x370000-0x37ffff:S, 0x380000-0x38ffff:S, 0x390000-0x39ffff:S, 0x3a0000-0x3affff:S, 0x3b0000-0x3bffff:S, 0x3c0000-0x3cffff:S, 0x3d0000-0x3dffff:S,
 0x3e0000-0x3effff:S, 0x3f0000-0x3fffff:S, 0x400000-0x40ffff:S, 0x410000-0x41ffff:S, 0x420000-0x42ffff:S, 0x430000-0x43ffff:S, 0x440000-0x44ffff:S, 0x450000-0x45ffff:S, 0x460000-0x46ffff:S, 0x470000-0x47ffff:S, 0x480000-0x48ffff:S, 0x490000-0x49ffff:S, 0x4a0000-0x4affff:S,
 0x4b0000-0x4bffff:S, 0x4c0000-0x4cffff:S, 0x4d0000-0x4dffff:S, 0x4e0000-0x4effff:S, 0x4f0000-0x4fffff:S, 0x500000-0x50ffff:S, 0x510000-0x51ffff:S, 0x520000-0x52ffff:S, 0x530000-0x53ffff:S, 0x540000-0x54ffff:S, 0x550000-0x55ffff:S, 0x560000-0x56ffff:S, 0x570000-0x57ffff:S,
 0x580000-0x58ffff:S, 0x590000-0x59ffff:S, 0x5a0000-0x5affff:S, 0x5b0000-0x5bffff:S, 0x5c0000-0x5cffff:S, 0x5d0000-0x5dffff:S, 0x5e0000-0x5effff:S, 0x5f0000-0x5fffff:S, 0x600000-0x60ffff:S, 0x610000-0x61ffff:S, 0x620000-0x62ffff:S, 0x630000-0x63ffff:S, 0x640000-0x64ffff:S,
 0x650000-0x65ffff:S, 0x660000-0x66ffff:S, 0x670000-0x67ffff:S, 0x680000-0x68ffff:S, 0x690000-0x69ffff:S, 0x6a0000-0x6affff:S, 0x6b0000-0x6bffff:S, 0x6c0000-0x6cffff:S, 0x6d0000-0x6dffff:S, 0x6e0000-0x6effff:S, 0x6f0000-0x6fffff:S, 0x700000-0x70ffff:S, 0x710000-0x71ffff:S,
 0x720000-0x72ffff:S, 0x730000-0x73ffff:S, 0x740000-0x74ffff:S, 0x750000-0x75ffff:S, 0x760000-0x76ffff:S, 0x770000-0x77ffff:S, 0x780000-0x78ffff:S, 0x790000-0x79ffff:S, 0x7a0000-0x7affff:S, 0x7b0000-0x7bffff:S, 0x7c0000-0x7cffff:S, 0x7d0000-0x7dffff:S, 0x7e0000-0x7effff:S,
 0x7f0000-0x7fffff:S, 0x800000-0x80ffff:S, 0x810000-0x81ffff:S, 0x820000-0x82ffff:S, 0x830000-0x83ffff:WTransaction error!<o:p></o:p></p>
<p class="MsoNormal"><o:p></o:p></p>
<p class="MsoNormal">SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0<o:p></o:p></p>
<p class="MsoNormal">SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0<o:p></o:p></p>
<p class="MsoNormal">Running OPCODE 0x02 failed at address <b><span style="color:#0070C0">0x83f000</span></b><span style="color:#0070C0">
</span>(payload length was 64).<o:p></o:p></p>
<p class="MsoNormal">spi_nbyte_program failed during command execution at address 0x83f000<o:p></o:p></p>
<p class="MsoNormal">Reading current flash chip contents... done. Looking for another erase function.<o:p></o:p></p>
<p class="MsoNormal">Trying erase function 2... 0x000000-0xffffff:WTransaction error!<o:p></o:p></p>
<p class="MsoNormal">SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=0<o:p></o:p></p>
<p class="MsoNormal">SSFC: SCGO=0, ACS=1, SPOP=0, COP=0, DBC=63, SME=0, SCF=0<o:p></o:p></p>
<p class="MsoNormal">Running OPCODE 0x02 failed at address 0x83f000 (payload length was 64).<o:p></o:p></p>
<p class="MsoNormal">spi_nbyte_program failed during command execution at address 0x83f000<o:p></o:p></p>
<p class="MsoNormal">Looking for another erase function.<o:p></o:p></p>
<p class="MsoNormal">No usable erase functions left.<o:p></o:p></p>
<p class="MsoNormal">FAILED!<o:p></o:p></p>
<p class="MsoNormal">Uh oh. Erase/write failed. Checking if anything changed.<o:p></o:p></p>
<p class="MsoNormal">Good. It seems nothing was changed.<o:p></o:p></p>
<p class="MsoNormal">Writing to the flash chip apparently didn't do anything.<o:p></o:p></p>
<p class="MsoNormal">This means we have to add special support for your board, programmer or flash<o:p></o:p></p>
<p class="MsoNormal">chip. Please report this on IRC at chat.freenode.net (channel #flashrom) or<o:p></o:p></p>
<p class="MsoNormal">mail flashrom@flashrom.org, thanks!<o:p></o:p></p>
<p class="MsoNormal">-------------------------------------------------------------------------------<o:p></o:p></p>
<p class="MsoNormal">You may now reboot or simply leave the machine running.<o:p></o:p></p>
<p class="MsoNormal">Restoring MMIO space at 0x7ff240f028a0<o:p></o:p></p>
<p class="MsoNormal">Restoring MMIO space at 0x7ff240f0289c<o:p></o:p></p>
<p class="MsoNormal">Restoring MMIO space at 0x7ff240f02898<o:p></o:p></p>
<p class="MsoNormal">Restoring MMIO space at 0x7ff240f02896<o:p></o:p></p>
<p class="MsoNormal">Restoring MMIO space at 0x7ff240f02894<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">flashchips.c:<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                {<o:p></o:p></p>
<p class="MsoNormal">                                .vendor                                = "Micron/Numonyx/ST",<o:p></o:p></p>
<p class="MsoNormal">                                .name                   = "N25Q128..3E", /* ..3E = 3V, uniform 64KB/4KB blocks/sectors */<o:p></o:p></p>
<p class="MsoNormal">                                .bustype              = BUS_SPI,<o:p></o:p></p>
<p class="MsoNormal">                                .manufacture_id = ST_ID,<o:p></o:p></p>
<p class="MsoNormal">                                .model_id           = ST_N25Q128__3E,<o:p></o:p></p>
<p class="MsoNormal">                                .total_size           = 16384,<o:p></o:p></p>
<p class="MsoNormal">                                .page_size          = 256,<o:p></o:p></p>
<p class="MsoNormal">                                /* supports SFDP */<o:p></o:p></p>
<p class="MsoNormal">                                /* OTP: 64B total; read 0x4B, write 0x42 */<o:p></o:p></p>
<p class="MsoNormal">                                .feature_bits     = FEATURE_WRSR_WREN | FEATURE_OTP,<o:p></o:p></p>
<p class="MsoNormal">                                .tested                 = TEST_OK_PREW,<o:p></o:p></p>
<p class="MsoNormal">                                .probe                  = probe_spi_rdid,<o:p></o:p></p>
<p class="MsoNormal">                                .probe_timing   = TIMING_ZERO,<o:p></o:p></p>
<p class="MsoNormal">                                .block_erasers  = {<o:p></o:p></p>
<p class="MsoNormal">                                                {<o:p></o:p></p>
<p class="MsoNormal">                                                                .eraseblocks = { {<b><span style="color:#0070C0">4 * 1024, 4096</span></b> } },<o:p></o:p></p>
<p class="MsoNormal">                                                                .block_erase = spi_block_erase_20,<o:p></o:p></p>
<p class="MsoNormal">                                                }, {<o:p></o:p></p>
<p class="MsoNormal">                                                                .eraseblocks = { {64 * 1024, 256} },<o:p></o:p></p>
<p class="MsoNormal">                                                               
<span lang="DE">.block_erase = spi_block_erase_d8,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="DE">                                               
</span>}, {<o:p></o:p></p>
<p class="MsoNormal">                                                                .eraseblocks = { {16384 * 1024, 1} },<o:p></o:p></p>
<p class="MsoNormal">                                                                .block_erase = spi_block_erase_c7,<o:p></o:p></p>
<p class="MsoNormal">                                                }<o:p></o:p></p>
<p class="MsoNormal">                                },<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks,<o:p></o:p></p>
<p class="MsoNormal">Cliff<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">                                                                                                                         
<o:p></o:p></p>
</div>
</body>
</html>