<div dir="ltr">Hi All,<div> In Minnowboard EFI we have got EFI_SPI_PROTOCOL, Inside IntelE6xxRuPkg/SpiDeviceDxe folder we have SpiDeviceDxe.c file. It has a function called InitSpiDevice which has the following line of code which claims to remove write protection in SPI flash chip. </div>
<div><div><b>Status = mSpiProtocol->Execute (</b></div><div><b> mSpiProtocol,</b></div><div><b> SPI_DEVICE_READ_STATUS_CMD_INDEX,</b></div><div><b><span style="white-space:pre"> </span>SPI_FLASH_PART_OPCODE_WRITE_STATUS,</b></div>
<div><b> SPI_DEVICE_PREFIX_OP_WRITE_S_EN_INDEX,</b></div><div><b> TRUE,</b></div><div><b> TRUE,</b></div><div><b> TRUE,</b></div><div><b> 0,</b></div><div><b> sizeof (Data),</b></div><div><b> &Data,</b></div>
<div><b> EnumSpiRegionAll</b></div><div><b> );</b></div></div><div>By default WinBond is Not write protected on powerup (i.e BP0 BP1 BP2 are zero). I tried writing some value (0x55) into the Status Register using the above API, when i read back I should get 54. But I get "02". Is the API actually working?? I tried wiring up a different flash "Micron" and I get the same 02 after writing 55. Has the API been validated?</div>
<div> . </div><div><div><div dir="ltr"><div><div><span style="color:rgb(11,83,148)"><span style="font-family:'courier new',monospace">Regards<br></span></span></div><span style="color:rgb(11,83,148)"><span style="font-family:'courier new',monospace">Vijai Kumar K<br>
</span></span></div></div></div>
</div></div>