Attention is currently required from: Angel Pons, Nikolai Artemiev. David Hendricks has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/53946 )
Change subject: flashchips.c: add support for W25Q32JW...M ......................................................................
Patch Set 6: Code-Review+2
(1 comment)
File flashchips.c:
https://review.coreboot.org/c/flashrom/+/53946/comment/6d98ad49_ac56daa8 PS1, Line 17583: ..IM
ni845x_spi.c and dediprog.c uses voltage afaik. […]
Angel - I think we're safe w.r.t. device IDs. The 3.3V and 1.8V parts have different device IDs: W25Q64JV (3.3V): https://www.winbond.com/resource-files/W25Q64JV%20RevK%2003102021%20Plus.pdf W25Q64JV-IQ/JQ 16h 4017h W25Q64JV-IM/JM* 16h 7017h
W25Q64JW (1.8V): https://www.winbond.com/resource-files/W25Q64JW%20RevE%2003102021%20Plus.pdf W25Q64JW-IQ/JQ 16h 6017h W25Q64JW-IM/JM* 16h 8017h
I might be missing some details, though... These part numbers can get confusing!
If there are in fact 1.8V and 3.3V chips that share the same device ID, then perhaps we should consider it as a type of "evil twin" and bail out if a voltage isn't specified as a programmer parameter on the command-line (unless it's internal in which case we can assume the correct voltage is applied).
FWIW, I've also noticed that often times you can detect and read a chip using the wrong voltage, but erases and writes will fail. As Edward said, the chips are usually able to withstand it fine for short periods and it's probably harmless in practice.