[flashrom] Log from Intel Atom C2550

Stefan Tauner stefan.tauner at alumni.tuwien.ac.at
Sun Aug 3 16:43:39 CEST 2014


On Sun, 3 Aug 2014 09:52:48 -0400
TR Reardon <thomas_reardon at hotmail.com> wrote:

> Because I took a picture of the chip ;)

That is a 256Mb/32MB chip. It is unlikely that this is the chip the
board boots from:

The Flash Descriptor read by flashrom from the boot flash contains a map
of the flash addresses used (something like a partition table). It is
designed to work with an 8MB chip (top of BIOS region is top of flash
and 0x007fffff in this case, equalling 8MB):
0x54: 0x000f0000 FREG0: Flash Descriptor region (0x00000000-0x0000ffff) is read-write. 
0x58: 0x07ff0200 FREG1: BIOS region (0x00200000-0x007fffff) is read-write.
0x5C: 0x00000fff FREG2: Management Engine region is unused.
0x60: 0x00000fff FREG3: Gigabit Ethernet region is unused.
0x64: 0x00000fff FREG4: Platform Data region is unused.

Also, the Component Section contains the density of the boot flash:
=== Component Section ===
FLCOMP   0x09300024
FLILL    0x00000000

--- Details ---
Component 1 density:            8 MB

Also, 32 MB chips are uncommon yet as boot devices. In your case I
believe that's an additional flash chip for some other use case. You
may be able to detect that in Linux with flashrom's linux_spi module.
flashrom does not support such big flash chips yet, but a verbose log
would have its IDs in it. I am pretty sure that you would find a
Winbond chip as well if you would look at the board again.

> 
> Also, here is the log tail from when I try to --read from flash:
> 
> Found Winbond flash chip "W25Q64.V" (8192 kB, SPI).
> This chip may contain one-time programmable memory. flashrom cannot read
> and may never be able to write it, hence it may not be able to completely
> clone the contents of this chip (see man page for details).
> Block protection is disabled.
> Reading flash... Transaction error!
> SSFS: SCIP=0, FDONE=1, FCERR=1, AEL=1
> SSFC: SCGO=0, ACS=0, SPOP=0, COP=1, DBC=63, SME=0, SCF=0
> Running OPCODE 0x03 failed at address 0x010000 (payload length was 64).
> Read operation failed!
> FAILED.
> Restoring MMIO space at 0x7f9c7d0670fc

That seems to match the Flash Descriptor regions as quoted above. The
descriptor of this board does not define what's between 0x10000 and
0x1fffff and hence the chipset does not allow to access these regions.
There are patches for flashrom that allows to access only specific
address ranges but they are not committed yet.

But this patch set seems to work as expected so far. Could you please
also post a log done with Hardware Sequencing (i.e. by adding
ich_spi_mode=hwseq to the programmer's argument list separated by a comma as below)?

./flashrom --programmer internal:laptop=this_is_not_a_laptop,ich_spi_mode=hwseq -o log -VV

-- 
Kind regards/Mit freundlichen Grüßen, Stefan Tauner




More information about the flashrom mailing list