[coreboot] Using Intel e3800 pcu spi to program flash
Nico Huber
nico.h at gmx.de
Thu Jul 13 17:54:44 CEST 2017
Hello Graham,
the SPI controller for the boot firmware is usually treated as sepa-
rated from the OS and therefore not advertised in ACPI. AFAIK, Linux
also doesn't have a driver for it.
We usually use flashrom [1] to access the firmware flash. It has a
special programmer target called `internal` for that (see `man
flashrom`).
Hope that helps,
Nico
[1] https://flashrom.org/
On 13.07.2017 13:26, Graham Perkins wrote:
> Hi All,
> I feel I am going around in circles with this problem. The task at hand is to be able to upgrade coreboot/uefi image in a winbond W25Q64 flash chip from linux. This chip is connected to the PCU SPI interface on the Intel e3805 processor. I know coreboot is writing to this chip without problem from the log:
>
> SF: Got idcode: ef 60 17 00 00
> SF: Detected W25Q64DW with sector size 0x1000, total 0x800000
> Need to erase the MRC cache region of 65536 bytes at ffd10000
> SF: erase 20 51 0 0 (511000)
> SPI: read 0080 from 0090
> SPI: wrote 000c to 0090
> SPI: wrote 06 to 0098
>
> However linux is not detecting the flash device or the PCH SPI controller. Disassembling the dsdt table I can see e3800 soc devices such as the HPET and PIC but no PCH SPI. The only SPI device is part of the SIO:
>
> Device (SPI1)
> {
> Name (_HID, "80860F0E" /* Intel SPI Controller */) // _HID: Hardware ID
> Name (_UID, One) // _UID: Unique ID
> Name (_DDN, "SPI Controller #2") // _DDN: DOS Device Name
>
> My question is does coreboot need to include the PCU SPI controller in the acpi tables and if so how do I do that?
>
> The platform is a custom design but very similar to the Intel Minnow Turbot board.
>
> Many thanks,
> Graham Perkins.
>
More information about the coreboot
mailing list