Attention is currently required from: Felix Singer, Nico Huber, Michał Żygowski, Angel Pons. Michael Niewöhner has posted comments on this change. ( https://review.coreboot.org/c/flashrom/+/55715 )
Change subject: tuxedo_ec: Implement support for flashing ECs on TUXEDO laptops ......................................................................
Patch Set 4:
(1 comment)
Patchset:
PS4:
I wouldn't craft a sanity check through user action (having to specify the I/O port pair) but having a list of supported EC's sounds like a good idea but I wonder if we should check the chip id or better the firmware id (e.g. the "ITE string" or sth else) because support for this firmware-based programming mechanism is implemented in EC fw.
Probing I/O ports is fragile, as there's no universal mechanism to enumerate/discover devices... Probing the two most common Super I/O port pairs shouldn't hurt, especially when explicitly choosing this programmer. I agree that determining whether the EC firmware exposes the correct interface isn't easy. Still, after making sure that the EC hardware matches, testing whether the firmware interface is usable should be less error-prone. Ideas welcome.
I agree. Probing the two commons is just fine
The other approach is direct flashing via the flash registers (see it85spi.c, it87spi.c for example), which *should* also work on various ITE ec's even without firmware support.
The code for it85spi.c never runs (function call is commented out). It's hooked to the "internal" programmer, and doesn't check if the machine is supported. I tried to use it a few years ago on an HP laptop with an ITE IT8502E EC: while flashrom managed to detect the EC's flash chip, the laptop suddenly powered off after a few seconds, reproducibly. This is less of an issue with it87spi.c and wbsio_spi.c because these Super I/Os don't run custom (cursed) firmware.
ouch. yeah, firmware is the difference. See my latest comment, too