Hi David,

After I correct BIOS VSCC setting, RIDI data seems 
normally(probe_spi_rdid_generic: id1 0xef, id2 0x4019), 
But I still get " Invalid OPCODE 0x06" issue in the end, may you please help on 
this? 
Thank you.



root@ubuntu:~/hubert#
l -i bios -w Lightning_R01.0.9_test.bin -c W25Q256.V -V -N=force -l 
allregion.xml
flashrom unknown on Linux 4.15.0-20-generic (x86_64)
flashrom is free software, get the source code at https://flashrom.org

flashrom was built with libpci 3.5.2, GCC 7.3.0, little endian
Command line (12 args): ./flashrom -p internal:boardmismatch=force -l 
allregion.xml -i bios -w Lightning_R01.0.9_test.bin -c W25Q256.V -V -N
romlayout 01000000 - 01ffffff named bios
Using region: "bios".
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing internal programmer
/sys/class/mtd/mtd0 does not exist
No coreboot table found.
Using Internal DMI decoder.
DMI string chassis-type: "Desktop"
DMI string system-manufacturer: "Ufi Space"
DMI string system-product-name: "Default string"
DMI string system-version: "Default string"
DMI string baseboard-manufacturer: "Ufi Space"
DMI string baseboard-product-name: "Default string"
DMI string baseboard-version: "Default string"
Found chipset "Intel C620 Series Chipset (QS/PRQ)" with PCI ID 8086:a1c8.
This chipset is marked as untested. If you are using an up-to-date version
of flashrom *and* were (not) able to successfully update your firmware with it,
then please email a report to flashrom@flashrom.org including a verbose (-V) 
log.
Thank you!
Enabling flash write... BIOS_SPI_BC = 0x888: BIOS Interface Lock-Down: enabled, 
Boot BIOS Straps: 0x0 (SPI)
Top Swap: not enabled
SPI Read Configuration: prefetching enabled, caching enabled,
BIOS_CNTL = 0x89: BIOS Lock Enable: disabled, BIOS Write Enable: enabled
SPIBAR = 0x00007feb19741000 (phys = 0xfe010000)
0x04: 0xe800 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, SCIP=0, PRR34_LOCKDN=0, WRSDIS=1, FDOPSS=1, 
FDV=1, FLOCKDN=1
SPI Configuration is locked down.
Reading OPCODES... done
0x06: 0x0010 (HSFC)
HSFC: FGO=0, HSFC=8, WET=0, FDBC=0, SME=0
0x0c: 0x00000000 (DLOCK)
DLOCK: BMWAG_LOCKDN=0, BMRAG_LOCKDN=0, SBMWAG_LOCKDN=0, SBMRAG_LOCKDN=0,
       PR0_LOCKDN=0, PR1_LOCKDN=0, PR2_LOCKDN=0, PR3_LOCKDN=0, PR4_LOCKDN=0,
       SSEQ_LOCKDN=0
0x50: 0x00005edf (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0x5e, BRRA 0xdf
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is 
read-only.
0x58: 0x1fff1000 FREG1: BIOS region (0x01000000-0x01ffffff) is read-write.
0x5C: 0x0a350001 FREG2: Management Engine region (0x00001000-0x00a35fff) is 
read-write.
0x80: 0x0fef0a36 FREG11: unknown region (0x00a36000-0x00feffff) has unknown 
permissions.
Not all flash regions are freely accessible by flashrom. This is most likely
due to an active ME. Please see https://flashrom.org/ME for details.
At least some flash regions are write protected. For write operations,
you should use a flash layout and include only writable regions. See
manpage for more details.
0xa0: 0xc0 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0xa1: 0xfe0000 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=0, DBC=0, SME=0, SCF=6
0xa4: 0x0006     (PREOP)
0xa6: 0x803b     (OPTYPE)
0xa8: 0x05200302 (OPMENU)
0xac: 0x5a009f9f (OPMENU+4)
0xc4: 0xf1d82085 (LVSCC)
LVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xc8: 0x20252025 (UVSCC)
UVSCC: BES=0x1, WG=1, WSR=0, WEWS=0, EO=0x20
OK.
The following protocols are supported: Parallel, LPC, FWH, SPI.
Probing for Winbond W25Q256.V, 32768 kB: probe_spi_rdid_generic: id1 0xef, id2 
0x4019
Found Winbond flash chip "W25Q256.V" (32768 kB, SPI) mapped at physical address 
0x00000000fe000000.
Chip status register is 0x00.
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).
Flash image seems to be a legacy BIOS. Disabling coreboot-related checks.
Invalid OPCODE 0x06, will not execute.
spi_simple_write_cmd failed during command execution
Failed to set correct 4BA mode! Aborting.
Restoring PCI config space for 00:1f:5 reg 0xdc
root@ubuntu:~/hubert#

Thank you
BR, Hubert.lin

-----Original Message-----
From: HubertLin [mailto:hubert.ym....@ufispace.com] 
Sent: Friday, June 05, 2020 8:58 AM
To: 'David Hendricks'
Cc: 'flashrom'
Subject: RE: [flashrom] Uprgrae SPIROM for Skylake-D platform

Hi David,

Flashrom upgrade full log as below, may you please guide me how should I do? 
Thank you.

root@ubuntu:~/hubert/bios# ./flashrom -p internal:boardmismatch=force -l 
allregion.xml -i bios -w Lightning_R01.0.9_test.bin -c W25Q256.V -V -N flashrom 
v1.2-55-gc7e9a6e-dirty on Linux 4.15.18 (x86_64) flashrom is free software, get 
the source code at https://flashrom.org

flashrom was built with libpci 3.5.2, GCC 7.4.0, little endian Command line (12 
args): ./flashrom -p internal:boardmismatch=force -l allregion.xml -i bios -w 
Lightning_R01.0.9_test.bin -c W25Q256.V -V -N romlayout 00000000 - 01ffffff 
named bios Using region: "bios".
Using clock_gettime for delay loops (clk_id: 1, resolution: 1ns).
Initializing internal programmer
/sys/class/mtd/mtd0 does not exist
No coreboot table found.
Using Internal DMI decoder.
DMI string chassis-type: "Desktop"
DMI string system-manufacturer: "Ufi Space"
DMI string system-product-name: "Default string"
DMI string system-version: "Default string"
DMI string baseboard-manufacturer: "Ufi Space"
DMI string baseboard-product-name: "Default string"
DMI string baseboard-version: "Default string"
Found chipset "Intel C620 Series Chipset (QS/PRQ)" with PCI ID 8086:a1c8.
This chipset is marked as untested. If you are using an up-to-date version of 
flashrom *and* were (not) able to successfully update your firmware with it, 
then please email a report to flashrom@flashrom.org including a verbose (-V) 
log.
Thank you!
Enabling flash write... BIOS_SPI_BC = 0x888: BIOS Interface Lock-Down: enabled, 
Boot BIOS Straps: 0x0 (SPI) Top Swap: not enabled SPI Read Configuration: 
prefetching enabled, caching enabled, BIOS_CNTL = 0x89: BIOS Lock Enable: 
disabled, BIOS Write Enable: enabled SPIBAR = 0x00007fb8e4b4a000 (phys = 
0xfe010000)
0x04: 0x6800 (HSFS)
HSFS: FDONE=0, FCERR=0, AEL=0, SCIP=0, PRR34_LOCKDN=0, WRSDIS=1, FDOPSS=1, 
FDV=1, FLOCKDN=0 Programming OPCODES... done
0x06: 0x0010 (HSFC)
HSFC: FGO=0, HSFC=8, WET=0, FDBC=0, SME=0
0x0c: 0x00000000 (DLOCK)
DLOCK: BMWAG_LOCKDN=0, BMRAG_LOCKDN=0, SBMWAG_LOCKDN=0, SBMRAG_LOCKDN=0,
       PR0_LOCKDN=0, PR1_LOCKDN=0, PR2_LOCKDN=0, PR3_LOCKDN=0, PR4_LOCKDN=0,
       SSEQ_LOCKDN=0
0x50: 0x00005edf (FRAP)
BMWAG 0x00, BMRAG 0x00, BRWA 0x5e, BRRA 0xdf
0x54: 0x00000000 FREG0: Flash Descriptor region (0x00000000-0x00000fff) is 
read-only.
0x58: 0x1fff1000 FREG1: BIOS region (0x01000000-0x01ffffff) is read-write.
0x5C: 0x0a350001 FREG2: Management Engine region (0x00001000-0x00a35fff) is 
read-write.
0x80: 0x0fef0a36 FREG11: unknown region (0x00a36000-0x00feffff) has unknown 
permissions.
Not all flash regions are freely accessible by flashrom. This is most likely 
due to an active ME. Please see https://flashrom.org/ME for details.
At least some flash regions are write protected. For write operations, you 
should use a flash layout and include only writable regions. See manpage for 
more details.
0xa0: 0xc0 (SSFS)
SSFS: SCIP=0, FDONE=0, FCERR=0, AEL=0
0xa1: 0xfe0000 (SSFC)
SSFC: SCGO=0, ACS=0, SPOP=0, COP=0, DBC=0, SME=0, SCF=6
0xa4: 0x5006     (PREOP)
0xa6: 0x463b     (OPTYPE)
0xa8: 0x05200302 (OPMENU)
0xac: 0xc79f0190 (OPMENU+4)
0xc4: 0xf1d82084 (LVSCC)
LVSCC: BES=0x0, WG=1, WSR=0, WEWS=0, EO=0x20, VCL=1
0xc8: 0x00002000 (UVSCC)
UVSCC: BES=0x0, WG=0, WSR=0, WEWS=0, EO=0x20 OK.
The following protocols are supported: Parallel, LPC, FWH, SPI.
Probing for Winbond W25Q256.V, 32768 kB: probe_spi_rdid_generic: id1 0xf7, id2 
0xa00c No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
Restoring MMIO space at 0x7fb8e4b4a0ac
Restoring MMIO space at 0x7fb8e4b4a0a8
Restoring MMIO space at 0x7fb8e4b4a0a6
Restoring MMIO space at 0x7fb8e4b4a0a4
Restoring PCI config space for 00:1f:5 reg 0xdc

Thank you
BR, Hubert.lin

-----Original Message-----
From: David Hendricks [mailto:david.hendri...@gmail.com]
Sent: Wednesday, June 03, 2020 5:30 AM
To: HubertLin
Cc: flashrom
Subject: Re: [flashrom] Uprgrae SPIROM for Skylake-D platform

Hello Hubert,
There was some discussion about Skylake-D a few months ago:
https://www.mail-archive.com/flashrom@flashrom.org/msg14426.html .
There were some PCI IDs which were added
(https://review.coreboot.org/c/flashrom/+/39780) after flashrom-v1.2

The problems you describe are strange, indeed... Can send a verbose log using 
`-V`? The W25Q256JVFIQ is also in the table already (as W25Q256.V), so I'm 
curious why you needed to add another chip entry.

On Mon, Jun 1, 2020 at 5:10 PM HubertLin <hubert.ym....@ufispace.com> wrote:
>
> Hi,
>
>
>
> I would like to use flashrom to upgrade BIOS on Skylake-D platform.
>
> I have done some work to unlock ME and fill W25Q256JVFIQ table in 
> flashschips.c.
>
> But there still have some opcode problem.
>
>
>
> Have you try flashrom on Skylake-D platform before?
>
> Is there any temporary patch for Skylake-D platform after v1.2 version.
>
> I would like to try it, may you please help me?
>
>
>
> The problem I meet as below,
>
> 1.     ich_spi_send_command: Internal command size error for opcode 0xe9, got 
> writecnt=1, want >=4
>
> 2.     Probing for Winbond W25Q256JVFIQ, 32768 kB: Invalid OPCODE 0x9f, will 
> not execut
>
> 3.     Probing for Winbond W25Q256JVFIQ, 32768 kB: probe_spi_rdid_generic: 
> id1 0xf7, id
>
>
>
> Thank you
>
> BR, Hubert.lin
>
>
>
> _______________________________________________
> flashrom mailing list -- flashrom@flashrom.org To unsubscribe send an 
> email to flashrom-le...@flashrom.org
_______________________________________________
flashrom mailing list -- flashrom@flashrom.org
To unsubscribe send an email to flashrom-le...@flashrom.org

Reply via email to