Hi folks,

Thanks #coreboot for all your help with my laptop, I learnt a lot today
from you all.
Unfortunately my first attempt at installing coreboot has resulted in a
bricked laptop.

I tried to cheat by making an educated guess of the SPI chip model
without pulling my laptop to bits to verify.  However, it seemed right
according to the responses i was getting from flashrom -V for the failed
chips, since the manufacturer id and model id I was getting from
flashrom matched the datasheet specs for a particular chip.

I downloaded and compiled the crossgcc toolchain.

I created a patch for flashrom and proceeded to read my flash.
I got a successful read from flashrom and dumped my vgabios.

I compiled coreboot for T60 and followed the wiki grabbing the 3 patches
for Lenovo stuff and inserting my custom SMBIOS details in the config.

Once i felt happy with my coreboot.rom I followed exactly the procedure
on the coreboot Lenovo wiki to flash my laptop internally.
  
I have attached here the coreboot config i used, the clues I used to
write the flashrom patch, the flashrom patch i wrote, and the flashing
log.

My current T60 status is "Bricked, in Bucts 1 configuration"

I guess my next step is to pull my laptop to bits without removing the
CMOS battery and see if the flash chip is indeed the one that I
estimated, and perhaps reflash it with coreboot?  I'm not too sure what
to do next but GNUtoo from #coreboot recommends a poloma clip.  Coreboot
team were very very helpful in trying everything to help me and warned
me right at the start I needed a way to recover.  They were right!  

Damien
#
# Automatically generated make config: don't edit
# coreboot version: 4.0-4312-gaed7d14
# Mon Jun 17 05:37:32 2013
#

#
# General setup
#
# CONFIG_EXPERT is not set
CONFIG_LOCALVERSION="79ETC9WW (2.09 )"
CONFIG_CBFS_PREFIX="fallback"
# CONFIG_ALT_CBFS_LOAD_PAYLOAD is not set
CONFIG_COMPILER_GCC=y
# CONFIG_COMPILER_LLVM_CLANG is not set
# CONFIG_SCANBUILD_ENABLE is not set
# CONFIG_CCACHE is not set
CONFIG_USE_OPTION_TABLE=y
CONFIG_COMPRESS_RAMSTAGE=y
CONFIG_INCLUDE_CONFIG_FILE=y
CONFIG_EARLY_CBMEM_INIT=y
# CONFIG_DYNAMIC_CBMEM is not set
CONFIG_COLLECT_TIMESTAMPS=y
# CONFIG_USE_BLOBS is not set
# CONFIG_COVERAGE is not set

#
# Mainboard
#
# CONFIG_VENDOR_AAEON is not set
# CONFIG_VENDOR_ABIT is not set
# CONFIG_VENDOR_ADLINK is not set
# CONFIG_VENDOR_ADVANSUS is not set
# CONFIG_VENDOR_ADVANTECH is not set
# CONFIG_VENDOR_AMD is not set
# CONFIG_VENDOR_AOPEN is not set
# CONFIG_VENDOR_ARIMA is not set
# CONFIG_VENDOR_ARTECGROUP is not set
# CONFIG_VENDOR_ASI is not set
# CONFIG_VENDOR_ASROCK is not set
# CONFIG_VENDOR_ASUS is not set
# CONFIG_VENDOR_A_TREND is not set
# CONFIG_VENDOR_AVALUE is not set
# CONFIG_VENDOR_AXUS is not set
# CONFIG_VENDOR_AZZA is not set
# CONFIG_VENDOR_BACHMANN is not set
# CONFIG_VENDOR_BCOM is not set
# CONFIG_VENDOR_BIFFEROS is not set
# CONFIG_VENDOR_BIOSTAR is not set
# CONFIG_VENDOR_BROADCOM is not set
# CONFIG_VENDOR_COMPAQ is not set
# CONFIG_VENDOR_DIGITALLOGIC is not set
# CONFIG_VENDOR_EAGLELION is not set
# CONFIG_VENDOR_ECS is not set
# CONFIG_VENDOR_EMULATION is not set
# CONFIG_VENDOR_GETAC is not set
# CONFIG_VENDOR_GIGABYTE is not set
# CONFIG_VENDOR_GOOGLE is not set
# CONFIG_VENDOR_HP is not set
# CONFIG_VENDOR_IBASE is not set
# CONFIG_VENDOR_IBM is not set
# CONFIG_VENDOR_IEI is not set
# CONFIG_VENDOR_INTEL is not set
# CONFIG_VENDOR_IWAVE is not set
# CONFIG_VENDOR_IWILL is not set
# CONFIG_VENDOR_JETWAY is not set
# CONFIG_VENDOR_KONTRON is not set
# CONFIG_VENDOR_LANNER is not set
CONFIG_VENDOR_LENOVO=y
# CONFIG_VENDOR_LIPPERT is not set
# CONFIG_VENDOR_MITAC is not set
# CONFIG_VENDOR_MSI is not set
# CONFIG_VENDOR_NEC is not set
# CONFIG_VENDOR_NEWISYS is not set
# CONFIG_VENDOR_NOKIA is not set
# CONFIG_VENDOR_NVIDIA is not set
# CONFIG_VENDOR_PCENGINES is not set
# CONFIG_VENDOR_RCA is not set
# CONFIG_VENDOR_RODA is not set
# CONFIG_VENDOR_SAMSUNG is not set
# CONFIG_VENDOR_SIEMENS is not set
# CONFIG_VENDOR_SOYO is not set
# CONFIG_VENDOR_SUNW is not set
# CONFIG_VENDOR_SUPERMICRO is not set
# CONFIG_VENDOR_TECHNEXION is not set
# CONFIG_VENDOR_TECHNOLOGIC is not set
# CONFIG_VENDOR_TELEVIDEO is not set
# CONFIG_VENDOR_TI is not set
# CONFIG_VENDOR_THOMSON is not set
# CONFIG_VENDOR_TRAVERSE is not set
# CONFIG_VENDOR_TYAN is not set
# CONFIG_VENDOR_VIA is not set
# CONFIG_VENDOR_WINENT is not set
# CONFIG_VENDOR_WYSE is not set
CONFIG_BOARD_SPECIFIC_OPTIONS=y
CONFIG_MAINBOARD_DIR="lenovo/t60"
CONFIG_MAINBOARD_PART_NUMBER="ThinkPad T60 / T60p"
CONFIG_IRQ_SLOT_COUNT=18
CONFIG_MAINBOARD_VENDOR="Lenovo"
CONFIG_MAX_CPUS=2
CONFIG_RAMTOP=0x200000
CONFIG_HEAP_SIZE=0x4000
CONFIG_RAMBASE=0x100000
CONFIG_VGA_BIOS_ID="8086,27a2"
CONFIG_DRIVERS_PS2_KEYBOARD=y
CONFIG_WARNINGS_ARE_ERRORS=y
# CONFIG_ONBOARD_VGA_IS_PRIMARY is not set
CONFIG_VGA_BIOS=y
# CONFIG_UDELAY_IO is not set
CONFIG_DCACHE_RAM_BASE=0xffdf8000
CONFIG_DCACHE_RAM_SIZE=0x8000
CONFIG_SERIAL_CPU_INIT=y
CONFIG_ACPI_SSDTX_NUM=0
CONFIG_VGA_BIOS_FILE="/home/damien/bootfix/808627a2.vgabios.bin"
# CONFIG_PCI_64BIT_PREF_MEM is not set
CONFIG_MMCONF_BASE_ADDRESS=0xf0000000
CONFIG_XIP_ROM_SIZE=0x10000
# CONFIG_MMCONF_SUPPORT_DEFAULT is not set
# CONFIG_BOARD_LENOVO_X60 is not set
CONFIG_BOARD_LENOVO_T60=y
CONFIG_MAINBOARD_SMBIOS_VENDOR="LENOVO"
# CONFIG_POWER_BUTTON_FORCE_ENABLE is not set
CONFIG_LOGICAL_CPUS=y
CONFIG_IOAPIC=y
CONFIG_SMP=y
CONFIG_TTYS0_BAUD=115200
CONFIG_TTYS0_BASE=0x3f8
CONFIG_TTYS0_LCS=3
CONFIG_DEFAULT_CONSOLE_LOGLEVEL=8
CONFIG_CONSOLE_SERIAL8250=y
CONFIG_USBDEBUG=y
# CONFIG_K8_REV_F_SUPPORT is not set
CONFIG_MAXIMUM_SUPPORTED_FREQUENCY=0
CONFIG_CPU_ADDR_BITS=32
CONFIG_BOARD_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_64 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_128 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_256 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_512 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_1024 is not set
CONFIG_COREBOOT_ROMSIZE_KB_2048=y
# CONFIG_COREBOOT_ROMSIZE_KB_4096 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_8192 is not set
# CONFIG_COREBOOT_ROMSIZE_KB_16384 is not set
CONFIG_COREBOOT_ROMSIZE_KB=2048
CONFIG_ROM_SIZE=0x200000
CONFIG_MAINBOARD_SERIAL_NUMBER="L3GPA39"
CONFIG_MAINBOARD_VERSION="ThinkPad T60"
CONFIG_MAINBOARD_SMBIOS_PART_NUMBER="ThinkPad T60 / T60p"
CONFIG_ARCH_X86=y
# CONFIG_ARCH_ARMV7 is not set

#
# Architecture (x86)
#
CONFIG_MARK_GRAPHICS_MEM_WRCOMB=y
CONFIG_AP_IN_SIPI_WAIT=y
# CONFIG_SIPI_VECTOR_IN_ROM is not set
CONFIG_STACK_SIZE=0x1000
CONFIG_MAX_REBOOT_CNT=3
CONFIG_X86_BOOTBLOCK_SIMPLE=y
# CONFIG_X86_BOOTBLOCK_NORMAL is not set
CONFIG_BOOTBLOCK_SOURCE="bootblock_simple.c"
# CONFIG_UPDATE_IMAGE is not set
# CONFIG_ROMCC is not set
CONFIG_PC80_SYSTEM=y
# CONFIG_HAVE_CMOS_DEFAULT is not set
CONFIG_BOOTBLOCK_SOUTHBRIDGE_INIT="southbridge/intel/i82801gx/bootblock.c"
CONFIG_HAVE_ARCH_MEMSET=y
CONFIG_HAVE_ARCH_MEMCPY=y
# CONFIG_BIG_ENDIAN is not set
CONFIG_LITTLE_ENDIAN=y
CONFIG_IOAPIC_INTERRUPTS_ON_FSB=y
# CONFIG_IOAPIC_INTERRUPTS_ON_APIC_SERIAL_BUS is not set
# CONFIG_PCI_CONF2 is not set
CONFIG_HPET_ADDRESS=0xfed00000
CONFIG_ID_SECTION_OFFSET=0x80

#
# Chipset
#

#
# CPU
#
CONFIG_SOCKET_SPECIFIC_OPTIONS=y
# CONFIG_CPU_AMD_AGESA is not set
CONFIG_HAVE_INIT_TIMER=y
CONFIG_HIGH_SCRATCH_MEMORY_SIZE=0x0
CONFIG_CPU_INTEL_MODEL_6EX=y
CONFIG_CPU_INTEL_MODEL_6FX=y
CONFIG_SMM_TSEG_SIZE=0
CONFIG_CPU_INTEL_SOCKET_MFCPGA478=y
CONFIG_SSE2=y
# CONFIG_CPU_INTEL_FIRMWARE_INTERFACE_TABLE is not set
CONFIG_UDELAY_LAPIC=y
CONFIG_LAPIC_MONOTONIC_TIMER=y
# CONFIG_UDELAY_TSC is not set
# CONFIG_UDELAY_TIMER2 is not set
# CONFIG_TSC_CALIBRATE_WITH_IO is not set
# CONFIG_TSC_SYNC_LFENCE is not set
CONFIG_TSC_SYNC_MFENCE=y
CONFIG_CACHE_ROM=y
# CONFIG_SMM_TSEG is not set
# CONFIG_SMM_MODULES is not set
# CONFIG_X86_AMD_FIXED_MTRRS is not set
# CONFIG_CAR_MIGRATION is not set
CONFIG_CACHE_AS_RAM=y
CONFIG_AP_SIPI_VECTOR=0xfffff000
CONFIG_MMX=y
CONFIG_SSE=y
# CONFIG_CPU_MICROCODE_IN_CBFS is not set
# CONFIG_CPU_MICROCODE_CBFS_GENERATE is not set
# CONFIG_CPU_MICROCODE_CBFS_EXTERNAL is not set
CONFIG_CPU_MICROCODE_CBFS_NONE=y

#
# Northbridge
#
CONFIG_VIDEO_MB=0
# CONFIG_NORTHBRIDGE_AMD_AGESA is not set
# CONFIG_AMD_NB_CIMX is not set
# CONFIG_NORTHBRIDGE_AMD_CIMX_RD890 is not set
CONFIG_NORTHBRIDGE_SPECIFIC_OPTIONS=y
CONFIG_NORTHBRIDGE_INTEL_I945=y
# CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GC is not set
CONFIG_NORTHBRIDGE_INTEL_SUBTYPE_I945GM=y
CONFIG_CHANNEL_XOR_RANDOMIZATION=y
# CONFIG_OVERRIDE_CLOCK_DISABLE is not set
# CONFIG_CHECK_SLFRCS_ON_RESUME is not set
CONFIG_CBFS_SIZE=0x200000
CONFIG_HPET_MIN_TICKS=0x80
CONFIG_MAX_PIRQ_LINKS=8

#
# Southbridge
#
CONFIG_EHCI_BAR=0xfef00000
CONFIG_EHCI_DEBUG_OFFSET=0xa0
CONFIG_USBDEBUG_DEFAULT_PORT=1
# CONFIG_AMD_SB_CIMX is not set
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB800 is not set
# CONFIG_SOUTHBRIDGE_AMD_CIMX_SB900 is not set
# CONFIG_SPI_FLASH is not set
CONFIG_SOUTHBRIDGE_INTEL_I82801GX=y
CONFIG_SOUTHBRIDGE_TI_PCI1X2X=y

#
# Super I/O
#
CONFIG_SUPERIO_NSC_PC87382=y
CONFIG_SUPERIO_NSC_PC87384=y

#
# Embedded Controllers
#
CONFIG_EC_ACPI=y
CONFIG_EC_LENOVO_H8=y
CONFIG_EC_LENOVO_PMH7=y

#
# Devices
#
# CONFIG_MAINBOARD_HAS_NATIVE_VGA_INIT is not set
# CONFIG_MULTIPLE_VGA_ADAPTERS is not set
CONFIG_PCI=y
# CONFIG_HYPERTRANSPORT_PLUGIN_SUPPORT is not set
CONFIG_PCIX_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_PLUGIN_SUPPORT=y
CONFIG_AGP_PLUGIN_SUPPORT=y
CONFIG_CARDBUS_PLUGIN_SUPPORT=y
CONFIG_PCIEXP_COMMON_CLOCK=y
CONFIG_PCIEXP_ASPM=y
CONFIG_PCI_BUS_SEGN_BITS=0

#
# VGA BIOS
#

#
# PXE ROM
#
# CONFIG_PXE_ROM is not set

#
# Generic Drivers
#
CONFIG_DRIVERS_ICS_954309=y
# CONFIG_IPMI_KCS is not set
# CONFIG_DRIVER_MAXIM_MAX77686 is not set
# CONFIG_DRIVERS_OXFORD_OXPCIE is not set
# CONFIG_TPM is not set
# CONFIG_RTL8168_ROM_DISABLE is not set
# CONFIG_DRIVERS_SIL_3114 is not set
# CONFIG_DRIVER_TI_TPS65090 is not set
CONFIG_MMCONF_SUPPORT=y

#
# Console
#
CONFIG_DEFAULT_EARLY_CONSOLE=y
CONFIG_EARLY_CONSOLE=y
CONFIG_CONSOLE_SERIAL=y
CONFIG_CONSOLE_SERIAL_COM1=y
# CONFIG_CONSOLE_SERIAL_COM2 is not set
# CONFIG_CONSOLE_SERIAL_COM3 is not set
# CONFIG_CONSOLE_SERIAL_COM4 is not set
CONFIG_CONSOLE_SERIAL_115200=y
# CONFIG_CONSOLE_SERIAL_57600 is not set
# CONFIG_CONSOLE_SERIAL_38400 is not set
# CONFIG_CONSOLE_SERIAL_19200 is not set
# CONFIG_CONSOLE_SERIAL_9600 is not set
# CONFIG_SPKMODEM is not set
CONFIG_HAVE_USBDEBUG=y
# CONFIG_CONSOLE_NE2K is not set
CONFIG_CONSOLE_CBMEM=y
CONFIG_CONSOLE_CBMEM_BUFFER_SIZE=0x10000
CONFIG_CONSOLE_CAR_BUFFER_SIZE=0xc00
CONFIG_DEFAULT_CONSOLE_LOGLEVEL_8=y
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_7 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_6 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_5 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_4 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_3 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_2 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_1 is not set
# CONFIG_DEFAULT_CONSOLE_LOGLEVEL_0 is not set
# CONFIG_CONSOLE_LOGBUF is not set
CONFIG_NO_POST=y
CONFIG_IO_POST=y
CONFIG_IO_POST_PORT=0x80
CONFIG_HAVE_UART_IO_MAPPED=y
# CONFIG_HAVE_UART_MEMORY_MAPPED is not set
# CONFIG_HAVE_UART_SPECIAL is not set
CONFIG_HAVE_ACPI_RESUME=y
# CONFIG_HAVE_ACPI_SLIC is not set
CONFIG_HAVE_HARD_RESET=y
CONFIG_HAVE_MONOTONIC_TIMER=y
# CONFIG_TIMER_QUEUE is not set
CONFIG_HAVE_OPTION_TABLE=y
# CONFIG_PIRQ_ROUTE is not set
CONFIG_HAVE_SMI_HANDLER=y
# CONFIG_PCI_IO_CFG_EXT is not set
CONFIG_CACHE_ROM_SIZE=0x200000
CONFIG_USE_WATCHDOG_ON_BOOT=y
# CONFIG_VGA is not set
CONFIG_GFXUMA=y
CONFIG_RELOCATABLE_MODULES=y
CONFIG_HAVE_ACPI_TABLES=y
CONFIG_HAVE_MP_TABLE=y
CONFIG_HAVE_PIRQ_TABLE=y

#
# System tables
#
CONFIG_MULTIBOOT=y
CONFIG_GENERATE_ACPI_TABLES=y
CONFIG_GENERATE_MP_TABLE=y
CONFIG_GENERATE_PIRQ_TABLE=y
CONFIG_GENERATE_SMBIOS_TABLES=y

#
# Payload
#
# CONFIG_PAYLOAD_NONE is not set
# CONFIG_PAYLOAD_ELF is not set
CONFIG_PAYLOAD_SEABIOS=y
# CONFIG_PAYLOAD_FILO is not set
# CONFIG_PAYLOAD_TIANOCORE is not set
# CONFIG_SEABIOS_STABLE is not set
CONFIG_SEABIOS_MASTER=y
CONFIG_PAYLOAD_FILE="$(obj)/seabios/out/bios.bin.elf"
CONFIG_COMPRESSED_PAYLOAD_LZMA=y
# CONFIG_COMPRESSED_PAYLOAD_NRV2B is not set

#
# Debugging
#
# CONFIG_GDB_STUB is not set
# CONFIG_DEBUG_CBFS is not set
CONFIG_HAVE_DEBUG_RAM_SETUP=y
# CONFIG_DEBUG_RAM_SETUP is not set
# CONFIG_HAVE_DEBUG_CAR is not set
# CONFIG_DEBUG_PIRQ is not set
# CONFIG_HAVE_DEBUG_SMBUS is not set
# CONFIG_DEBUG_SMI is not set
# CONFIG_DEBUG_SMM_RELOCATION is not set
# CONFIG_DEBUG_MALLOC is not set
# CONFIG_DEBUG_ACPI is not set
# CONFIG_TRACE is not set
# CONFIG_RAMINIT_SYSINFO is not set
# CONFIG_ENABLE_APIC_EXT_ID is not set
# CONFIG_POWER_BUTTON_DEFAULT_ENABLE is not set
# CONFIG_POWER_BUTTON_DEFAULT_DISABLE is not set
# CONFIG_POWER_BUTTON_FORCE_DISABLE is not set
# CONFIG_POWER_BUTTON_IS_OPTIONAL is not set
# CONFIG_CHROMEOS is not set
damien@zamlap:~/bootfix/bucts$ sudo ./bucts 1
bucts utility version '4'
Using LPC bridge 8086:27b9 at 0000:1f.00
Current BUC.TS=0 - 128kb address range 0xFFFE0000-0xFFFFFFFF is untranslated
Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped
damien@zamlap:~/bootfix/bucts$ cd ..
damien@zamlap:~/bootfix$ cd flashrom/
damien@zamlap:~/bootfix/flashrom$ sudo ./flashrom -p internal -w ../t60.coreboot.rom 
flashrom v0.9.6.1-runknown on Linux 3.2.0-45-generic (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org

Calibrating delay loop... OK.
Found chipset "Intel ICH7M". Enabling flash write... WARNING: SPI Configuration Lockdown activated.
OK.
Found SST flash chip "SST25VF016B.T60" (2048 kB, SPI) at physical address 0xffe00000.
===
This flash part has status UNTESTED for operations: PROBE READ ERASE WRITE
The test status of this chip may have been updated in the latest development
version of flashrom. If you are running the latest development version,
please email a report to [email protected] if any of the above operations
work correctly for you with this flash part. Please include the flashrom
output with the additional -V option for all operations you tested (-V, -Vr,
-VE, -Vw), and mention which mainboard or programmer you tested.
Please mention your board in the subject line. Thanks for your help!
Reading old flash chip contents... done.
Erasing and writing flash chip... spi_block_erase_20 failed during command execution at address 0x0
Reading current flash chip contents... done. spi_block_erase_52 failed during command execution at address 0x0
Reading current flash chip contents... done. Transaction error!
spi_block_erase_d8 failed during command execution at address 0x1f0000
Reading current flash chip contents... done. spi_chip_erase_60 failed during command execution
Reading current flash chip contents... done. spi_chip_erase_c7 failed during command execution
FAILED!
Uh oh. Erase/write failed. Checking if anything changed.
Your flash chip is in an unknown state.
Get help on IRC at chat.freenode.net (channel #flashrom) or
mail [email protected] with the subject "FAILED: <your board name>"!
-------------------------------------------------------------------------------
DO NOT REBOOT OR POWEROFF!
damien@zamlap:~/bootfix/flashrom$

Hope this works! REBOOT!
diff --git a/flashchips.c b/flashchips.c
index 6ec3749..0786ed7 100644
--- a/flashchips.c
+++ b/flashchips.c
@@ -7600,6 +7600,48 @@ const struct flashchip flashchips[] = {
 		.voltage	= {2700, 3600},
 	},
 
+        {
+                .vendor         = "SST",
+                .name           = "SST25VF016B.T60",
+                .bustype        = BUS_SPI,
+                .manufacture_id = SST_ID,
+                .model_id       = SST_SST25VF016B_T60,
+                .total_size     = 2048,
+                .page_size      = 256,
+                .feature_bits   = FEATURE_WRSR_EITHER,
+                .tested         = TEST_UNTESTED,
+                .probe          = probe_spi_res2,
+                .probe_timing   = TIMING_ZERO,
+                .block_erasers  =
+                {
+                        {
+                                .eraseblocks = { {4 * 1024, 512} },
+                                .block_erase = spi_block_erase_20,
+                        }, {
+                                .eraseblocks = { {32 * 1024, 64} },
+                                .block_erase = spi_block_erase_52,
+                        }, {
+                                .eraseblocks = { {64 * 1024, 32} },
+                                .block_erase = spi_block_erase_d8,
+                        }, {
+                                .eraseblocks = { {2 * 1024 * 1024, 1} },
+                                .block_erase = spi_block_erase_60,
+                        }, {
+                                .eraseblocks = { {2 * 1024 * 1024, 1} },
+                                .block_erase = spi_block_erase_c7,
+                        },
+                },
+                .printlock      = spi_prettyprint_status_register_sst25vf016,
+                .unlock         = spi_disable_blockprotect,
+                .write          = spi_chip_write_256,
+                .read           = spi_chip_read,
+                .voltage        = {2700, 3600},
+        },
+
+
+
+
+
 	{
 		.vendor		= "SST",
 		.name		= "SST25VF032B",
diff --git a/flashchips.h b/flashchips.h
index 41903d2..3265f74 100644
--- a/flashchips.h
+++ b/flashchips.h
@@ -523,6 +523,7 @@
 #define SST_SST25VF080B		0x258E
 #define SST_SST25VF080B_REMS	0x8E	/* REMS or RES opcode */
 #define SST_SST25VF016B		0x2541
+#define SST_SST25VF016B_T60	0x41	/* T60 */
 #define SST_SST25VF032B		0x254A
 #define SST_SST25VF032B_REMS	0x4A	/* REMS or RES opcode */
 #define SST_SST25VF064C		0x254B
flashrom v0.9.6.1-runknown on Linux 3.2.0-45-generic (x86_64)
flashrom is free software, get the source code at http://www.flashrom.org

flashrom was built with libpci 3.1.8, GCC 4.6.3, little endian
Command line (3 args): ./flashrom -V -p internal
Calibrating delay loop... OS timer resolution is 1 usecs, 1822M loops per 
second, 10 myus = 11 us, 100 myus = 101 us, 1000 myus = 1001 us, 10000 myus = 
10002 us, 4 myus = 5 us, OK.
Initializing internal programmer
No coreboot table found.
DMI string system-manufacturer: "LENOVO"
DMI string system-product-name: "195176M"
DMI string system-version: "ThinkPad T60"
DMI string baseboard-manufacturer: "LENOVO"
DMI string baseboard-product-name: "195176M"
DMI string baseboard-version: "Not Available"
DMI string chassis-type: "Notebook"
Laptop detected via DMI.
Whitelisted laptop detected.
Found chipset "Intel ICH7M" with PCI ID 8086:27b9. Enabling flash write... 
0xfff80000/0xffb80000 FWH IDSEL: 0x0
0xfff00000/0xffb00000 FWH IDSEL: 0x0
0xffe80000/0xffa80000 FWH IDSEL: 0x1
0xffe00000/0xffa00000 FWH IDSEL: 0x1
0xffd80000/0xff980000 FWH IDSEL: 0x1
0xffd00000/0xff900000 FWH IDSEL: 0x2
0xffc80000/0xff880000 FWH IDSEL: 0x4
0xffc00000/0xff800000 FWH IDSEL: 0x4
0xff700000/0xff300000 FWH IDSEL: 0x4
0xff600000/0xff200000 FWH IDSEL: 0x5
0xff500000/0xff100000 FWH IDSEL: 0x6
0xff400000/0xff000000 FWH IDSEL: 0x7
0xfff80000/0xffb80000 FWH decode enabled
0xfff00000/0xffb00000 FWH decode enabled
0xffe80000/0xffa80000 FWH decode enabled
0xffe00000/0xffa00000 FWH decode enabled
0xffd80000/0xff980000 FWH decode enabled
0xffd00000/0xff900000 FWH decode enabled
0xffc80000/0xff880000 FWH decode enabled
0xffc00000/0xff800000 FWH decode enabled
0xff700000/0xff300000 FWH decode disabled
0xff600000/0xff200000 FWH decode disabled
0xff500000/0xff100000 FWH decode disabled
0xff400000/0xff000000 FWH decode disabled
Maximum FWH chip size: 0x100000 bytes
BIOS_CNTL = 0x01: BIOS Lock Enable: disabled, BIOS Write Enable: enabled
Root Complex Register Block address = 0xfed1c000
GCS = 0x460: BIOS Interface Lock-Down: disabled, Boot BIOS Straps: 0x1 (SPI)
Top Swap : not enabled
SPIBAR = 0xfed1c000 + 0x3020
0x00: 0x8004     (SPIS)
0x02: 0x4040     (SPIC)
0x04: 0x00000000 (SPIA)
0x08: 0x00bf41bf (SPID0)
0x0c: 0x00000000 (SPID0+4)
0x10: 0x00000000 (SPID1)
0x14: 0x00000000 (SPID1+4)
0x18: 0x00000000 (SPID2)
0x1c: 0x00000000 (SPID2+4)
0x20: 0x00000000 (SPID3)
0x24: 0x00000000 (SPID3+4)
0x28: 0x00000000 (SPID4)
0x2c: 0x00000000 (SPID4+4)
0x30: 0x00000000 (SPID5)
0x34: 0x00000000 (SPID5+4)
0x38: 0x00000000 (SPID6)
0x3c: 0x00000000 (SPID6+4)
0x40: 0x00000000 (SPID7)
0x44: 0x00000000 (SPID7+4)
0x50: 0x00000000 (BBAR)
0x54: 0x5006     (PREOP)
0x56: 0x163b     (OPTYPE)
0x58: 0x05d80302 (OPMENU)
0x5c: 0x0001d8ab (OPMENU+4)
0x60: 0x80fff1f0 (PBR0)
0x64: 0x00000000 (PBR1)
0x68: 0x00000000 (PBR2)
Reading OPCODES... done
SPI Read Configuration: prefetching disabled, caching enabled, OK.
The following protocols are supported: SPI.
Probing for AMIC A25L05PT, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L05PU, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L10PT, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L10PU, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L20PT, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L20PU, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L40PT, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L40PU, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L80P, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L16PT, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L16PU, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L512, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L010, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L020, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L040, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L080, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L016, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25L032, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for AMIC A25LQ032, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF021, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF041A, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF081, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF081A, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF161, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF321, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF321A, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DF641(A), 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25DQ161, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25F512, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512A, 64 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F512B, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25F1024(A), 128 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F2048, 256 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25F4096, 512 kB: Invalid OPCODE 0x15, will not execute.
Probing for Atmel AT25FS010, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT25FS040, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT26DF041, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT26DF081A, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT26DF161, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT26DF161A, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT26F004, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45CS1282, 16896 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB011D, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB021D, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB041D, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB081D, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB161D, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB321C, 4224 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB321D, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Atmel AT45DB642D, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ESMT F25L008A, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B05, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B05T, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B10, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B10T, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B20T, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B40T, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B80, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B80T, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B16T, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B32T, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25B64T, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F05, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F10, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F80, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25F64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q80(A), 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q32(A/B), 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25Q128, 16384 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25QH16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Eon EN25QH32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for GigaDevice GD25Q20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for GigaDevice GD25Q40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for GigaDevice GD25Q80(B), 1024 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for GigaDevice GD25Q16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for GigaDevice GD25Q32(B), 4096 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for GigaDevice GD25Q64(B), 8192 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for GigaDevice GD25Q128B, 16384 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for GigaDevice GD25LQ32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F160S33B8, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F160S33T8, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F320S33B8, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F320S33T8, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F640S33B8, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Intel 25F640S33T8, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L512(E)/MX25V512(C), 64 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L1005(C)/MX25L1006E, 128 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L2005(C), 256 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25L4005(A/C), 512 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25L8005/MX25V8005, 1024 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L1605, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L1605A/MX25L1606E, 2048 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L1605D/MX25L1608D, 2048 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L1635D, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L1635E, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L3205(A), 4096 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25L3205D/MX25L3208D, 4096 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L3206E, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L3235D, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L6405(D), 8192 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25L6406E/MX25L6436E, 8192 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Macronix MX25L6445E, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25L12805(D), 16384 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25U1635E, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Macronix MX25U3235E/F, 4096 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix MX25U6435E/F, 8192 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Numonyx M25PE10, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx M25PE20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx M25PE40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx M25PE80, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx M25PE16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx N25Q016, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx N25Q032..1E, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx N25Q032..3E, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx N25Q064..1E, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Numonyx N25Q064..3E, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LD256C, 32 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LD512(C), 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LD010(C), 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LD020(C), 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LD040(C), 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LV512(A), 64 kB: probe_spi_res3: id1 0xbf41, id2 0xbf
Probing for PMC Pm25LV010, 128 kB: probe_spi_res3: id1 0xbf41, id2 0xbf
Probing for PMC Pm25LV010A, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LV020, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LV040, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LV080B, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for PMC Pm25LV016B, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Sanyo LF25FW203A, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Spansion S25FL004A, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Spansion S25FL008A, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Spansion S25FL016A, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Spansion S25FL032A/P, 4096 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Spansion S25FL064A/P, 8192 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for SST SST25LF040A, 512 kB: probe_spi_res2: id1 0xbf, id2 0x41
Probing for SST SST25LF080(A), 1024 kB: probe_spi_res2: id1 0xbf, id2 0x41
Probing for SST SST25VF010, 128 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF016B, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25VF016B.T60, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Invalid OPCODE 0x90, will not execute.
probe_spi_res1: id 0xbf
Probing for SST SST25VF032B, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25VF064C, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25VF040, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF040B, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25VF040B.REMS, 512 kB: Invalid OPCODE 0x90, will not execute.
Probing for SST SST25VF080B, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25WF512, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25WF010, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25WF020, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for SST SST25WF040, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P05-A, 64 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P05, 64 kB: Invalid OPCODE 0x9f, will not execute.
Invalid OPCODE 0x90, will not execute.
probe_spi_res1: id 0xbf
Probing for ST M25P10-A, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P10, 128 kB: Invalid OPCODE 0x9f, will not execute.
Invalid OPCODE 0x90, will not execute.
probe_spi_res1: id 0xbf
Probing for ST M25P20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P20-old, 256 kB: Invalid OPCODE 0x9f, will not execute.
Invalid OPCODE 0x90, will not execute.
probe_spi_res1: id 0xbf
Probing for ST M25P40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P40-old, 512 kB: Invalid OPCODE 0x9f, will not execute.
Invalid OPCODE 0x90, will not execute.
probe_spi_res1: id 0xbf
Probing for ST M25P80, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25P128, 16384 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25PX16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25PX32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for ST M25PX64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q80.V, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q16.V, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q32.V, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q64.V, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q128.V, 16384 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q20.W, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q40.W, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q80.W, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q16.W, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q32.W, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25Q64.W, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X10, 128 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X20, 256 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X40, 512 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X80, 1024 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X16, 2048 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X32, 4096 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Winbond W25X64, 8192 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Unknown SFDP-capable chip, 0 kB: Invalid OPCODE 0x5a, will not 
execute.
Receiving SFDP signature failed.
Probing for AMIC unknown AMIC SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Atmel unknown Atmel SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Eon unknown Eon SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Macronix unknown Macronix SPI chip, 0 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for PMC unknown PMC SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for SST unknown SST SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for ST unknown ST SPI chip, 0 kB: Invalid OPCODE 0x9f, will not execute.
Probing for Sanyo unknown Sanyo SPI chip, 0 kB: Invalid OPCODE 0x9f, will not 
execute.
Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: Invalid OPCODE 
0x9f, will not execute.
Probing for Generic unknown SPI chip (RDID), 0 kB: Invalid OPCODE 0x9f, will 
not execute.
Probing for Generic unknown SPI chip (REMS), 0 kB: Invalid OPCODE 0x90, will 
not execute.
No EEPROM/flash device found.
Note: flashrom can never write if the flash chip isn't found automatically.
Restoring MMIO space at 0x7f1fab554070
-- 
coreboot mailing list: [email protected]
http://www.coreboot.org/mailman/listinfo/coreboot

Reply via email to