fwupd/plugins/superio
Richard Hughes 7afd7cba0d Use FuFirmware as a container for firmware images
In many plugins we've wanted to use ->prepare_firmware() to parse the firmware
ahead of ->detach() and ->write_firmware() but this has the limitation that it
can only return a single blob of data.

For many devices, multiple binary blobs are required from one parsed image,
for instance providing signatures, config and data blobs that have to be pushed
to the device in different way.

This also means we parse the firmware *before* we ask the user to detach.

Break the internal FuDevice API to support these firmware types as they become
more popular.

This also allows us to move the Intel HEX and SREC parsing out of the dfu plugin
as they are used by a few plugins now, and resolving symbols between plugins
isn't exactly awesome.
2019-08-08 13:10:57 +01:00
..
fu-plugin-superio.c Allow handling FORCE for devices that subclass FuDevice 2019-05-05 15:29:00 -05:00
fu-superio-common.c superio: Move the register read/write into the FuSuperioDevice object 2019-03-23 12:04:18 +00:00
fu-superio-common.h Fix some typos spotted using codespell 2019-04-08 12:47:53 +01:00
fu-superio-device.c Use FuFirmware as a container for firmware images 2019-08-08 13:10:57 +01:00
fu-superio-device.h superio: Move the device flush before getting the register map 2019-03-23 12:04:18 +00:00
fu-superio-it85-device.c Never guess the version format from the version string 2019-04-30 09:25:41 +01:00
fu-superio-it85-device.h superio: Move all the IT85xx code to a subclassed device object 2019-03-23 12:04:18 +00:00
fu-superio-it89-device.c Use FuFirmware as a container for firmware images 2019-08-08 13:10:57 +01:00
fu-superio-it89-device.h superio: Move all the IT89xx code to a subclassed device object 2019-03-23 12:04:18 +00:00
meson.build superio: Move all the IT89xx code to a subclassed device object 2019-03-23 12:04:18 +00:00
README.md superio: Add support for writing new e-flash contents 2019-03-23 12:04:18 +00:00
superio.quirk superio: Add InstallDuration default value 2019-03-23 16:13:52 +00:00

SuperIO

This plugin enumerates the various ITE85* SuperIO embedded controller ICs found in many laptops. Vendors wanting to expose the SuperIO functionality will need to add a HwId quirk entry to superio.quirk.

See https://en.wikipedia.org/wiki/Super_I/O for more details about SuperIO and what the EC actually does.

Other useful links:

GUID Generation

These devices use a custom GUID generated using the SuperIO chipset name:

  • SuperIO-$(chipset), for example SuperIO-IT8512