Hi Hubert,
What happens if you add "ich_spi_mode=hwseq" to your programmer
parameters, i.e. "-p internal:boardmismatch=force,ich_spi_mode=hwseq"
?


On Tue, Jun 9, 2020 at 4:04 AM HubertLin <[email protected]> wrote:
>
> 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 [email protected] 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:[email protected]]
> 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 [email protected] 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:[email protected]]
> 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/[email protected]/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 <[email protected]> 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 -- [email protected] To unsubscribe send an
> > email to [email protected]
>
_______________________________________________
flashrom mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to