Hello,
I have successfully tested the Winbond W25X64 flash chip (8192 kB, SPI) for Probe, Read, Erase and Write operations using the buspirate_spi and Intel ICH9M-E (Thinkpad T400) programmers.
Testing was done with flashrom v0.9.8-r1901 on ICH9M-E and v0.9.8-r1888 (Parabola/Arch default) on buspirate_spi.
I slightly modified board_enable.c in flashrom to add the T400 to the whitelist when flashing on r1901 (taken from libreboot patch):
+ {0x8086, 0x2917, 0x17AA, 0x20F5, 0x8086, 0x2930, 0x17AA, 0x20F9, "^ThinkPad T400", NULL, NULL, P2, "IBM/Lenovo", "ThinkPad T400", 0, OK, p2_whitelist_laptop},
My buspirate is the sparkfun version and I used the 30cm long cable which connects directly to 0.1" headers and the recommended 6.2 FW version. Flashing worked at default (8M) speed with multiple reads always producing the same checksum.[1] Reading the ROM took around 13min.
Logs are attached.
Please don't hesitate to ask for more information if required.
- Johannes
[1] This was not the case when flashing a Lenovo X200 with a Macronix MX25L6405D chip, where reading was *never* reliable, even though flashing worked. This was at spispeed=30K, with ~8cm cables and both external and internal power. The chip would not be detected at higher speeds. No such issues at all with the W25X64.