<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=utf-8">
<meta name="Generator" content="Microsoft Word 12 (filtered medium)">
<style>
<!--
 /* Font Definitions */
 @font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
        {font-family:"\0027Courier New\0027";
        panose-1:0 0 0 0 0 0 0 0 0 0;}
 /* Style Definitions */
 p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","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-reply;
        font-family:"Tahoma","sans-serif";
        color:#1F497D;
        font-weight:normal;
        font-style:normal;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page Section1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.Section1
        {page:Section1;}
-->
</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="Section1">
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D">Thanks David.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D">As you said, the reason for not programming is due to wrong op.atomic configuration. Is there any way to set these properly?<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D">Yes jumper selects the ROM at a time.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D">Thanks for the help,<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D">Raghu<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:9.0pt;font-family:"Tahoma","sans-serif";
color:#1F497D"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> David Hendricks [mailto:dhendrix@google.com]
<br>
<b>Sent:</b> Saturday, January 07, 2012 4:42 AM<br>
<b>To:</b> Raghuramchary Jallipalli<br>
<b>Cc:</b> flashrom@flashrom.org; V Balaji; Vishnuvardhan Reddy<br>
<b>Subject:</b> Re: [flashrom] Help: unable to upgrade bios<o:p></o:p></span></p>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Jan 6, 2012 at 5:12 AM, Raghuramchary Jallipalli <<a href="mailto:Raghuramchary.Jallipalli@lntinfotech.com" target="_blank">Raghuramchary.Jallipalli@lntinfotech.com</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">The force option enable worked and we were able to program the AT25DF321A flash. But the contents are wrong and the board was not able to come up. Please see attached for the verbose output for both read and write.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">There is a high likelihood that either the Management Engine (ME) or embedded controller (EC) is interfering with Flashrom operation.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">One concern is that flashrom does not appear to set the op.atomic field properly:<o:p></o:p></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0x94: 0x0606     (PREOP)</span><o:p></o:p></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0x96: 0x0be4     (OPTYPE)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0x98: 0x02030105 (OPMENU)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0x9C: 0xff9f3c20 (OPMENU+4)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0xA0: 0x00000000 (BBAR)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">0xD0: 0x00000000 (FPB)</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">Reading OPCODES... done</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">preop0=0x06, preop1=0x06</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[0]=0x05, 0, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[1]=0x01, 1, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[2]=0x03, 2, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[3]=0x02, 3, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[4]=0x20, 3, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[5]=0x3c, 2, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[6]=0x9f, 0, 0</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-family:"" CourierNew??,?serif??="">op[7]=0xff, 0, 0</span><o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">The third column shows that none of the opcodes are configured as atomic cycles. Thus, Flashrom does not know to set the SPIC_ACS bit (<a href="http://flashrom.org/trac/flashrom/browser/trunk/ichspi.c#L782" target="_blank">http://flashrom.org/trac/flashrom/browser/trunk/ichspi.c#L782</a>)
 when processing these opcodes.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If the "atomic" field is not set properly, then it is possible for ME or EC to interfere with flashrom in between write enable (WREN) opcodes such as block erase and program page.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">On Fri, Jan 6, 2012 at 5:12 AM, Raghuramchary Jallipalli <<a href="mailto:Raghuramchary.Jallipalli@lntinfotech.com" target="_blank">Raghuramchary.Jallipalli@lntinfotech.com</a>> wrote: <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;
margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">For your info, the board has two flashes(each 4MB) and the bios resides on the second(we have a jumper option to select the flash device). We are confused whether the flashrom selects the correct flash device and program it.<o:p></o:p></p>
</blockquote>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Are both ROMs logically present? Or will the jumper only enable one ROM at a given time?<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">If there are multiple ROMs present, then Flashrom use the "Hardware Sequencing" method of flashing when it detects the "Number of Components" (NC) > 0 in the flash descriptor region:
<a href="http://flashrom.org/trac/flashrom/browser/trunk/ichspi.c#L1742" target="_blank">
http://flashrom.org/trac/flashrom/browser/trunk/ichspi.c#L1742</a><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">See FLMAP0 in the Intel documentation for more details, and ensure the NC field is programmed appropriately for your mainboard configuration.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal">-- <br>
David Hendricks (dhendrix)<br>
Systems Software Engineer, Google Inc.<o:p></o:p></p>
</div>
<br>
<hr>
<font face="Arial" color="Black" size="3">The contents of this e-mail and any attachment(s) may contain confidential or privileged information for the intended recipient(s). Unintended recipients are prohibited from taking action on the basis of information
 in this e-mail and using or disseminating the information, and must notify the sender and delete it from their system. L&T Infotech will not accept responsibility or liability for the accuracy or completeness of, or the presence of any virus or disabling code
 in this e-mail"<br>
</font>
</body>
</html>
<PRE>*************************************************************************
 This email and attachments have been scanned for
 potential proprietary or sensitive information leakage.
 Websense Data Security, Protecting Your Information from the Inside Out.
 www.websense.com
 *************************************************************************
</PRE>