Hi David,
Thanks for your help, I finally able to upgrade BIOS and Intel ME with "-c "Opaque flash chip"" parameter. But I can't find description of "Opaque flash chip" on flashrom wiki, may you please help to explain what is this parameter used for? Or guide us where can I find the document.
Thank you BR, Hubert.lin
-----Original Message----- From: David Hendricks [mailto:david.hendricks@gmail.com] Sent: Saturday, June 13, 2020 2:39 AM To: HubertLin Cc: flashrom Subject: Re: [flashrom] Uprgrae SPIROM for Skylake-D platform
Hi Hubert,
I have modified OPTYPE and OPMENU to support OPCODE 0x20 sector erase, but it still failed. //=========================================================== Running OPCODE 0x20 failed at address 0x000000 (payload length was 0). spi_write_cmd failed during command execution at address 0x1000000 //===========================================================
Opcode 0x20 takes a 3-byte address and 0x1000000 is a 4-byte address, so this failure makes sense. You either need to use opcode 0x21 which is 4KiB erase with 4-byte address, or use the extended address register in the flash chip. I'm not sure how to do that (or if it's possible) with software sequencing on Skylake-D though...
I also try your suggestion and it also failed. //=========================================================== The following protocols are supported: Parallel, LPC, FWH, Programmer-specific. No EEPROM/flash device found. Note: flashrom can never write if the flash chip isn't found automatically. //===========================================================
I forgot to mention that for hardware sequencing you should either omit the chip option or set it to "Opaque flash chip", i.e. "./flashrom -p internal:boardmismatch=force,ich_spi_mode=hwseq -l allregion.xml -i bios -w Lightning_R01.2_test.bin -c "Opaque flash chip" -V -N"