path: root/flashrom.c
diff options
authorStefan Tauner <>2013-07-25 22:54:25 +0000
committerStefan Tauner <>2013-07-25 22:54:25 +0000
commit0554ca5cd33fe2cc599cfdbe91fff03c8fa752c5 (patch)
tree1d37d76b5b3d810c6b2a1286a5de7c2b60ce69a0 /flashrom.c
parent305e0b999a7d452a845709d5558c17a31afe178c (diff)
Add a bunch of new/tested stuff and various small changes 18
Tested mainboards: OK: - ASUS C60M1-I - ASUS P8H77-I - ASUS P8H77-M - ASUS P8P67 LE (B2) - Elitegroup GeForce6100PM-M2 (V3.0) - GIGABYTE GA-P55A-UD7 - MSI B75MA-E33 (MS-7808) - MSI H77MA-G43 (MS-7756) - MSI KA780G (MS-7551) - SAPPHIRE IPC-E350M1 Reported by xvilka on IRC - Supermicro X8DTG-D NOT OK: - ASRock Fatal1ty Z77 Performance - ASRock Z68 Extreme4 - ASUS P8B75-M LE - ASUS P8P67-M PRO - ASUS P8Z68-V LE - Intel DQ77MK - Supermicro X9DRD-7LN4F - Supermicro X9SCE-F - Supermicro X9SCM-F - Tyan S7066 Chipsets: - Marked Intel B75 as tested - Marked Intel H77 as tested - Removed 10de:03e2 because it is apparently the MCP61 host bridge. It was reclassified to Host Bridge in the PCI device ID database and there is at least one report suggesting this configuration too: - Added MCP89 which hopefully works with the code for previous versions. Thanks to James Laird for submitting this change. Tested flash chips: - Atmel AT25DF641(A) to PREW (+PREW) - Atmel AT25F512 to PREW (+PREW) Also, change its ID according to Modification of PCN SC040401A: "There has been a change in the returned value of the Product Identification (RDID) command, the AT25F512A RDID code is 65h compared to 60h from the AT25F512 product." It seems to be quite likely that all AT25F512 are fully functional relabeled AT25F1024 chips. There are even some hints in the datasheet: in table 6 they stress that address pin 16 needs to be low under all circum- stances; while continuous reads can wrap around on the AT25F1024 the DS notes "For the AT25F512, the read command must be terminated when the highest address (00FFFF) is reached." OTOH the lock bit semantics are different, but this has not been tested thoroughly - Atmel AT25F512A to PREW (+PREW) - Eon EN25F05 to PREW (+PREW) - Macronix MX25L12805(D) to PREW (+REW) - Spansion S25FL256S......0 and S25FL512S to P/!R!E!W (+P) Tested by Stefan Tauner - Micron/Numonyx/ST M25PX80 to PREW (+PREW) Tested by Stefan Tauner - Micron/Numonyx/ST N25Q032..3E and N25Q128..3E to PREW (+PREW) Tested by Stefan Tauner - Micron/Numonyx/ST N25Q256..3E and N25Q512..3G to P/!R!E!W (+P) Tested by Stefan Tauner - SST SST25VF040B to PREW (+PREW) - SST SST25VF040B.REMS to PREW (+EW) - ST M25P05-A to PREW (+PREW) - ST M29W512B to PREW (+W) - Winbond W25Q64.W to PREW (+PREW) Tested by the chromiumos guys. - Winbond W25Q128.V to PREW (+REW) - Winbond W25X20 to PREW (+PREW) Miscellaneous: - Add Lenovo X201 to the laptop whitelist. - Add chip IDs for the ESMT F25L..QA family. - Add chip IDs for a few Macronix MX25 models. - The list of flashchips is not sorted strictly alphabetically and should not be either. Refine the comment explaining the scheme on top of the list. - Support -L output of chip sizes with up to 6 decimal places (up to 4 Gb). - Use z length modifier in (more) prints for size_t types. - Remove chips >16MB again because our current implementation of memory mapping the flash chip violates common rules by mapping a window as large as the chip. This leads to failing mmaps as can be seen here: - Document spispeed parameter of linux_spi (and fix some leaks). - Rephrase the "multiple chips detected" message because it was confusing. - Skip verification step if the image is equal to the flash contents. - Tiny other stuff. Corresponding to flashrom svn r1702. Signed-off-by: Stefan Tauner <> Acked-by: Stefan Tauner <> Acked-by: Carl-Daniel Hailfinger <>
Diffstat (limited to 'flashrom.c')
1 files changed, 1 insertions, 1 deletions
diff --git a/flashrom.c b/flashrom.c
index b05faf3..db5b1c7 100644
--- a/flashrom.c
+++ b/flashrom.c
@@ -1995,7 +1995,7 @@ int doit(struct flashctx *flash, int force, const char *filename, int read_it,
- if (verify_it) {
+ if (verify_it && !all_skipped) {
msg_cinfo("Verifying flash... ");
if (write_it) {
OpenPOWER on IntegriCloud