I have an apu.1d which I bought back in 2014 and now I'm trying to update its BIOS.
I first installed a clean ubuntu server 18.04.4 LTS and flashrom (from ubuntu repositories).
Now I get the following error when trying to flash:
root@apu:/home/mz# flashrom -w coreboot.rom -p internal:boardmismatch=force -c "MX25L1605A/MX25L1606E/MX25L1608E"
flashrom v0.9.9-r1954 on Linux 5.3.0-28-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org
Calibrating delay loop... OK.
coreboot table found at 0x7efdf000.
Found chipset "AMD SB7x0/SB8x0/SB9x0".
Enabling flash write... OK.
Found Macronix flash chip "MX25L1605A/MX25L1606E/MX25L1608E" (2048 kB, SPI) mapped at physical address 0x00000000ffe00000.
This coreboot image (PC Engines:apu1) does not appear to
be correct for the detected mainboard (PC Engines:APU).
Proceeding anyway because user forced us to.
Reading old flash chip contents... AMD SPI FIFO pointer corruption! Pointer is 0, wanted 3
Something else is accessing the flash chip and causes random corruption.
Please stop all applications and drivers and IPMI which access the flash chip.
Note that I had to use the override switch as suggested in the documentation here.
The old BIOS on the device is "Build date: Apr 5 2014", I don't see the version number displayed at boot.
I tried to flash the current version 126.96.36.199, which is supposedly compatible with the apu1 platform.
I also tried to install flashrom 1.0-1 from debian instead of the somewhat old release in ubuntu, but it doesn't make any difference. That still isn't the most recent version of flashrom, but as the PCengines docs don't say anything about which flashrom version to use, I imagine this is not a likely cause?