| Summary: |
Minnowboard UEFI + SpiDeviceDxe driver doesnot remove SPI Write Protection |
| Product: |
[Hardware Platforms] MinnowBoard MAX Firmware
|
Reporter: |
Vijai Kumar K <vijaikumar.k> |
| Component: |
minnowboard-uefi-firmware | Assignee: |
Vijai Kumar K <vijaikumar.k> |
| Status: |
RESOLVED
FIXED
|
QA Contact: |
|
| Severity: |
minor
|
|
|
| Priority: |
Undecided
|
CC: |
scott.a.garman, vijaikumar.k
|
| Version: |
unspecified | |
|
| Target Milestone: |
--- | |
|
| Hardware: |
MinnowBoard | |
|
| OS: |
x86 | |
|
| Whiteboard: |
|
|
OS type for building Yocto:
|
---
|
Type of Regression:
|
---
|
|
Verified:
|
|
Documentation change:
|
No (bug/feature does not impact docs)
|
In Minnowboard UEFI 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. Status = mSpiProtocol->Execute ( mSpiProtocol, SPI_DEVICE_READ_STATUS_CMD_INDEX, SPI_FLASH_PART_OPCODE_WRITE_STATUS, SPI_DEVICE_PREFIX_OP_WRITE_S_EN_INDEX, TRUE, TRUE, TRUE, 0, sizeof (Data), &Data, EnumSpiRegionAll ); By default WinBond SPI Flash 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(depending on the BITs which are write only). But I get "02". It is not actually writing the required opcode to the SPI.