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.
On Tue, 5 Jan 2016 12:43:31 +0100 Johannes Krampf johannes.krampf@googlemail.com wrote:
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.
Hello Johannes,
thanks for your report! I have marked the flash chip as fully tested and will commit that later together with other small changes.
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},
I have added that as well. The EC uses its own flash chip and should not bother us. Since the board can run coreboot the EC does not interact with the x86 firmware either so it is fine to white list it.