fwupd/plugins/dell-dock
Mario Limonciello 8ec36ae826 trivial: dell-dock: reverse MST update order for I2C
This mirrors the update process over DP aux to run the ESM update
first.

The thought process is as follows:
The "version" displayed doesn't show ESM version, only standard
bank version.
So if the update fails for the ESM then because the update of the
standard happening first it would never be flashed.
2018-12-04 06:16:29 -06:00
..
dell-dock.quirk dell_dock: Use correct offset for finding version of MST (Fixes: #804) 2018-10-18 06:06:07 +01:00
fu-dell-dock-common.c Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-common.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-hid.c Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-hid.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-hub.c Port from libappstream-glib to libxmlb 2018-10-17 14:41:13 +01:00
fu-dell-dock-hub.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-i2c-ec.c trivial: dell-dock: Set EC version to daemon before EC reset 2018-11-27 11:05:26 +00:00
fu-dell-dock-i2c-ec.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-i2c-mst.c trivial: dell-dock: reverse MST update order for I2C 2018-12-04 06:16:29 -06:00
fu-dell-dock-i2c-mst.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-dell-dock-status.c Port from libappstream-glib to libxmlb 2018-10-17 14:41:13 +01:00
fu-dell-dock-status.h Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
fu-plugin-dell-dock.c dell-dock: Prefer to flash VMM5331 via I2C instead of DP aux 2018-11-01 06:29:10 -05:00
meson.build Add a plugin for an upcoming Dell USB-C dock 2018-10-12 07:58:29 +01:00
README.md trivial: Document the expected plugin firmware formats 2018-12-03 08:48:13 -06:00

Dell USB-C Dock

Dell System

Unlike previous Dell USB-C devices, a Dell system is not needed for updating.

Components

The device contains components the following directly updatable components:

  • USB hubs
  • MST controller
  • Thunderbolt controller
  • Embedded controller

This plugin is used to perform the update on the USB hubs as well as the Dell Embedded controller. The USB hubs are updated directly over a USB HID endpoint while the embedded controller is updated using an I2C over HID interface.

The fwupd thunderbolt plugin is used for updating the Titan Ridge controller.

The MST controller is updated through either the DP Aux interface (SynapticsMST plugin) or I2C over HID interface provided by this plugin.

Device topology

When this plugin is used, devices present in other plugins may be shown in the topology of this dock. This is intentional as this plugin works together with those plugins to manage the flashing of all components.

Firmware Format

The daemon will decompress the cabinet archive and extract several firmware blobs with an unspecified binary file format.

GUID Generation

These devices use several different generation schemes, e.g.

  • USB Hub1: USB\VID_413C&PID_B06F&hub
  • USB Hub2: USB\VID_413C&PID_B06E&hub
  • Embedded Controller: USB\VID_413C&PID_B06E&hub&embedded
  • Update Level: USB\VID_413C&PID_B06E&hub&status
  • MST Hub: MST-panamera-vmm5331-259
  • Thunderbolt Controller: TBT-00d4b070

Custom flag use:

This plugin uses the following plugin-specific custom flags:

  • skip-restart: Don't run the reset or reboot procedure of the component

Quirk use

This plugin uses the following plugin-specific quirks:

Quirk Description Minimum fwupd version
DellDockUnlockTarget The EC argument needed for unlocking certain device usage. 1.1.3
DellDockBlobMajorOffset The offset of the major version number in a payload 1.1.3
DellDockBlobMinorOffset The offset of the minor version number in a payload 1.1.3
DellDockBlobBuildOffset The offset of the build version number in a payload 1.1.3
DellDockBlobVersionOffset The offset of the ASCII representation of a version string in a payload 1.1.3
DellDockBoardMin The minimum board revision required to safely operate the plugin 1.1.3
DellDockVersionLowest The minimum component version required to safely operate the plugin 1.1.3
DellDockBoard* The board description of a board revision 1.1.3
DellDockInstallDurationI2C The duration of time required to install a payload via I2C. 1.1.3