fwupd/plugins/emmc
Richard Hughes c4b7f42e43 Only compress one version of the builtin-quirks
Saving the quirks in the GResource section worked well, but it made the build
system very complicated and also meant the .data section was duplicated in
both `fwupd` and `fwupdtool` -- negating a lot of the hard-fought savings.

Simplify this feature so that we just `cat` all the quirk files together, then
gzip them into a single file. This means that at startup fwupd only needs to
check the mtime of one file, and weirdly it's actually faster to load a smaller
compressed file from disk that it is to load multiple uncompressed files.
2022-09-27 12:44:04 +01:00
..
emmc.quirk Simplify the quirk file format 2021-03-03 08:30:34 +00:00
fu-emmc-device.c emmc: Use struct init to set mmc_ioc_cmd 2022-09-09 19:23:29 +01:00
fu-emmc-device.h trivial: reformat the whole tree to match new format 2021-08-24 11:18:40 -05:00
fu-plugin-emmc.c Speed up the daemon startup by ~2% by doing dlsym much less 2021-11-09 12:02:07 +00:00
meson.build Only compress one version of the builtin-quirks 2022-09-27 12:44:04 +01:00
README.md Add eMMC guids to include FW version 2022-06-22 15:58:57 +01:00

eMMC

Introduction

This plugin reads the sysfs attributes corresponding to eMMC devices. It uses the kernel MMC API for flashing devices.

Protocol

eMMC devices support the org.jedec.mmc protocol.

GUID Generation

These devices use the following instance values:

  • EMMC\%NAME%
  • EMMC\%NAME%&%REV%
  • EMMC\%MANFID%&%OEMID%
  • EMMC\%MANFID%&%OEMID%&%NAME%
  • EMMC\%MANFID%&%NAME%&%REV%
  • EMMC\%MANFID%&%OEMID%&%NAME%&%REV%

Update Behavior

The firmware is deployed when the device is in normal runtime mode, but it is only activated when the device is rebooted.

Vendor ID Security

The vendor ID is set from the EMMC vendor, for example set to EMMC:{$manfid}

External Interface Access

This plugin requires ioctl MMC_IOC_CMD and MMC_IOC_MULTI_CMD access.