<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 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* 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:#0563C1;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:#954F72;
        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="#0563C1" vlink="#954F72">
<div class="WordSection1">
<p class="MsoNormal">On the most recent version of the Chromium flashrom effort, there was a patch for Apollo Lake. I have applied it to the latest, fixed up one issue in the get_target_bus_from_chipset() to return the right BBS strapping. It finds the Winbond
 chip and starts to read, and gets an error when reading the ROM using the HWSEQ style. I have tracked it down to the function that waits for complete, where it fails.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Any thoughts?<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"><o:p> </o:p></p>
<p class="MsoNormal">Tim Lewis<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">P.S. I have this working with other flash utilities, so I know that the hardware is working and the flash part is present and responds.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">FAILED.p@p-desktop:~/Desktop/Blinkflash-Linux64-100.00.00.03$ sudo ./flashrom -p internal -r 123.bin -VV<o:p></o:p></p>
<p class="MsoNormal">flashrom v0.9.7-unknown on Linux 4.4.0-21-generic (x86_64), built with libpci 3.2.1, GCC 4.8.4, little endian<o:p></o:p></p>
<p class="MsoNormal">flashrom is free software, get the source code at http://www.flashrom.org<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Initializing internal programmer<o:p></o:p></p>
<p class="MsoNormal">No coreboot table found.<o:p></o:p></p>
<p class="MsoNormal">get_target_bus_from_chipset() returns 0x10.<o:p></o:p></p>
<p class="MsoNormal">Found chipset "Intel Apollolake" with PCI ID 8086:5af0. Enabling flash write... Vendor ID: 8086, Device ID: 5a96, BAR: fed01000<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">BIOS Lock Enable: disabled, BIOS Write Enable: enabled, BIOS_CNTL is 0x89<o:p></o:p></p>
<p class="MsoNormal">SPI BAR is = 0xfed01000<o:p></o:p></p>
<p class="MsoNormal">GCS = 0x89: BIOS Interface Lock-Down: enabled, Boot BIOS Straps: 0x0 (SPI)<o:p></o:p></p>
<p class="MsoNormal">SPIBAR = 0xfed01000 + 0x0000<o:p></o:p></p>
<p class="MsoNormal">0x04: 0x3f00e000 (HSFSC)<o:p></o:p></p>
<p class="MsoNormal">WARNING: SPI Configuration Lockdown activated.<o:p></o:p></p>
<p class="MsoNormal">0x08: 0x00000000 (FADDR)<o:p></o:p></p>
<p class="MsoNormal">0x50: 0x0000ffff (FRAP)<o:p></o:p></p>
<p class="MsoNormal">BMWAG 0x00, BMRAG 0x00, BRWA 0xff, BRRA 0xff<o:p></o:p></p>
<p class="MsoNormal">0x54: 0x00000000 (FREG0: Flash Descriptor)<o:p></o:p></p>
<p class="MsoNormal">0x00000000-0x00000fff is read-write<o:p></o:p></p>
<p class="MsoNormal">0x58: 0x06fe0001 (FREG1: BIOS)<o:p></o:p></p>
<p class="MsoNormal">0x00001000-0x006fefff is read-write<o:p></o:p></p>
<p class="MsoNormal">0x5C: 0x00007fff (FREG2: Management Engine)<o:p></o:p></p>
<p class="MsoNormal">Management Engine region is unused.<o:p></o:p></p>
<p class="MsoNormal">0x60: 0x00007fff (FREG3: Gigabit Ethernet)<o:p></o:p></p>
<p class="MsoNormal">Gigabit Ethernet region is unused.<o:p></o:p></p>
<p class="MsoNormal">0x64: 0x00007fff (FREG4: Platform Data)<o:p></o:p></p>
<p class="MsoNormal">Platform Data region is unused.<o:p></o:p></p>
<p class="MsoNormal">0x84: 0x00000000 (PR0, unused)<o:p></o:p></p>
<p class="MsoNormal">0x88: 0x00000000 (PR1, unused)<o:p></o:p></p>
<p class="MsoNormal">0x8C: 0x00000000 (PR2, unused)<o:p></o:p></p>
<p class="MsoNormal">0x90: 0x00000000 (PR3, unused)<o:p></o:p></p>
<p class="MsoNormal">0x94: 0x00000000 (PR4, unused)<o:p></o:p></p>
<p class="MsoNormal">Reading flash descriptors mapped by the chipset via FDOC/FDOD... done.<o:p></o:p></p>
<p class="MsoNormal">=== Content Section ===<o:p></o:p></p>
<p class="MsoNormal">FLVALSIG 0x0ff0a55a<o:p></o:p></p>
<p class="MsoNormal">FLMAP0   0x00040003<o:p></o:p></p>
<p class="MsoNormal">FLMAP1   0x13100208<o:p></o:p></p>
<p class="MsoNormal">FLMAP2   0x00000000<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--- Details ---<o:p></o:p></p>
<p class="MsoNormal">NR          (Number of Regions):                     1<o:p></o:p></p>
<p class="MsoNormal">FRBA        (Flash Region Base Address):         0x040<o:p></o:p></p>
<p class="MsoNormal">NC          (Number of Components):                  1<o:p></o:p></p>
<p class="MsoNormal">FCBA        (Flash Component Base Address):      0x030<o:p></o:p></p>
<p class="MsoNormal">ISL         (ICH/PCH Strap Length):                 19<o:p></o:p></p>
<p class="MsoNormal">FISBA/FPSBA (Flash ICH/PCH Strap Base Address):  0x100<o:p></o:p></p>
<p class="MsoNormal">NM          (Number of Masters):                     3<o:p></o:p></p>
<p class="MsoNormal">FMBA        (Flash Master Base Address):         0x080<o:p></o:p></p>
<p class="MsoNormal">MSL/PSL     (MCH/PROC Strap Length):                 0<o:p></o:p></p>
<p class="MsoNormal">FMSBA       (Flash MCH/PROC Strap Base Address): 0x000<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">=== Component Section ===<o:p></o:p></p>
<p class="MsoNormal">FLCOMP   0x649c02f4<o:p></o:p></p>
<p class="MsoNormal">FLILL    0xad604221<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--- Details ---<o:p></o:p></p>
<p class="MsoNormal">Component 1 density:             8 MB<o:p></o:p></p>
<p class="MsoNormal">Component 2 is not used.<o:p></o:p></p>
<p class="MsoNormal">Read Clock Frequency:           reserved<o:p></o:p></p>
<p class="MsoNormal">Read ID and Status Clock Freq.: 50 MHz<o:p></o:p></p>
<p class="MsoNormal">Write and Erase Clock Freq.:    50 MHz<o:p></o:p></p>
<p class="MsoNormal">Fast Read is supported.<o:p></o:p></p>
<p class="MsoNormal">Fast Read Clock Frequency:      50 MHz<o:p></o:p></p>
<p class="MsoNormal">Invalid instruction 0:          0x21<o:p></o:p></p>
<p class="MsoNormal">Invalid instruction 1:          0x42<o:p></o:p></p>
<p class="MsoNormal">Invalid instruction 2:          0x60<o:p></o:p></p>
<p class="MsoNormal">Invalid instruction 3:          0xad<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">=== Region Section ===<o:p></o:p></p>
<p class="MsoNormal">FLREG0   0x00000000<o:p></o:p></p>
<p class="MsoNormal">FLREG1   0x06fe0001<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--- Details ---<o:p></o:p></p>
<p class="MsoNormal">Region 0 (Descr.) 0x00000000 - 0x00000fff<o:p></o:p></p>
<p class="MsoNormal">Region 1 (BIOS  ) 0x00001000 - 0x006fefff<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">=== Master Section ===<o:p></o:p></p>
<p class="MsoNormal">FLMSTR1  0xffffff00<o:p></o:p></p>
<p class="MsoNormal">FLMSTR2  0xffffff00<o:p></o:p></p>
<p class="MsoNormal">FLMSTR3  0x7ff7ff00<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">--- Details ---<o:p></o:p></p>
<p class="MsoNormal">      Descr. BIOS ME GbE Platf.<o:p></o:p></p>
<p class="MsoNormal">BIOS    rw    rw  rw  rw   rw<o:p></o:p></p>
<p class="MsoNormal">ME      rw    rw  rw  rw   rw<o:p></o:p></p>
<p class="MsoNormal">GbE     rw    rw  rw   w   rw<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">SPI Read Configuration: prefetching enabled, caching enabled, OK.<o:p></o:p></p>
<p class="MsoNormal">This programmer supports the following protocols: FWH, Programmer-specific.<o:p></o:p></p>
<p class="MsoNormal">Probing for Winbond W25Q128.V, 0 kB: Found 1 attached SPI flash chip with a density of 8192 kB.<o:p></o:p></p>
<p class="MsoNormal">There are 2048 erase blocks with 4096 B each.<o:p></o:p></p>
<p class="MsoNormal">Found Winbond flash chip "W25Q128.V" (8192 kB, Programmer-specific) at physical address 0x0.<o:p></o:p></p>
<p class="MsoNormal">Found Winbond flash chip "W25Q128.V" (8192 kB, Programmer-specific).<o:p></o:p></p>
<p class="MsoNormal">===<o:p></o:p></p>
<p class="MsoNormal">The test status of this chip may have been updated in the latest development<o:p></o:p></p>
<p class="MsoNormal">version of flashrom. If you are running the latest development version,<o:p></o:p></p>
<p class="MsoNormal">please email a report to flashrom@flashrom.org if any of the above operations<o:p></o:p></p>
<p class="MsoNormal">work correctly for you with this flash part. Please include the flashrom<o:p></o:p></p>
<p class="MsoNormal">output with the additional -V option for all operations you tested (-V, -Vr,<o:p></o:p></p>
<p class="MsoNormal">-Vw, -VE), and mention which mainboard or programmer you tested.<o:p></o:p></p>
<p class="MsoNormal">Please mention your board in the subject line. Thanks for your help!<o:p></o:p></p>
<p class="MsoNormal">Reading flash... Reading 8388608 bytes starting at 0x000000.<o:p></o:p></p>
<p class="MsoNormal">Transaction error between offset 0x00000000 and 0x0000003f (= 0x00000000 + 63)<o:p></o:p></p>
<p class="MsoNormal">failed to read 0x0-0x7fffff<o:p></o:p></p>
<p class="MsoNormal">Read operation failed!<o:p></o:p></p>
<p class="MsoNormal">FAILED.p@p-desktop:~/Desktop/Blinkflash-Linux64-100.00.00.03$
<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>