fwupd/plugins/gpio
Richard Hughes d3d7cfa816 Add plugin quirk keys earlier in the startup process
This allows creating the silo when starting the engine with custom
plugin keys such as WacomI2cFlashBaseAddr.

If we move the plugin initialization earlier then we don't get the
HwID matches, so we really do have to split this into a 4-stage startup,
e.g. ->load(), ->init(), ->startup() and ->coldplug().
2022-05-09 11:13:52 +01:00
..
fu-gpio-device.c gpio: Return the correct error when there is no device to open 2022-03-16 12:08:32 +00:00
fu-gpio-device.h Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
fu-plugin-gpio.c Add plugin quirk keys earlier in the startup process 2022-05-09 11:13:52 +01:00
gpio.quirk Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00
meson.build Convert build system to use meson tristate features 2022-02-28 08:34:48 -06:00
README.md Add a plugin to set GPIOs for the duration of an update 2022-02-16 14:01:07 +00:00

GPIO

Introduction

This plugin sets GPIO outputs either high or low before and/or after an update has been deployed.

GUID Generation

These device use GPIO gpiochip_info.label values, e.g.

  • GPIO\ID_INT3450:00

Quirk Use

This plugin uses the following plugin-specific quirks:

GpioForUpdate

The GPIO bit to set before the update is deployed e.g. INT3450:00,SPI_MUX,high. After the update has finished, the bits are returned to the default state.

For example, to set GPIO pin 2 low for the duration of the ColorHug device update this could be added to the quirk file:

[USB\VID_273F&PID_1001]
GpioForUpdate=fake-gpio-chip,2,low

Since: 1.7.6

External Interface Access

This plugin requires ioctl GPIO_GET_CHIPINFO_IOCTL and GPIO_V2_GET_LINE_IOCTL access on /dev/gpiochip* devices.