trivial: Add some additional docs about CCGX factory mode

This commit is contained in:
Richard Hughes 2023-02-09 10:34:15 +00:00
parent ac5f9412e0
commit d35f199fb6

View File

@ -56,6 +56,36 @@ The `CY_PD_JUMP_TO_ALT_FW_CMD_SIG` command is allowed only in asymmetric FW, but
In composite firmware topology, a single firmware image contains metadata and
firmware images of multiple devices including DMC itself in a dock system.
### DMC Factory Mode
Dock Management Controller devices have a *composite version* that is used to
describe the dock hardware as a whole, rather than enumerating and updating
each sub-component separately.
When OEMs have not followed the IHV-approved factory assembly process, the
composite number is unset and fwupd would display `0.0.0.0` in the GUI and
on the command line.
In fwupd >= 1.8.11 we detect if the device is in *factory mode* and set the
version number to `0.0.0.1`.
When the device is in factory mode any valid upgrade will be allowed, which
means the user might be prompted to “update to” the same current version
installed on the dock.
For millions of devices this is both a waste of time, resources, and also
would inconvenience the user with an additional process for no reason.
For devices that have been shipped in factory mode, but would like to avoid
the update from `0.0.0.1` to the original version on the LVFS, can add a
quirk entry which matches the `devx` subcomponent *base version*.
In this example we match the parent VID, PID, the ComponentID and the `devx`
base firmware version, setting the parent composite version to `0.0.0.15`.
[USB\VID_2188&PID_0035&CID_05&VER_3.3.1.69]
CcgxDmcCompositeVersion = 15
All the `devx` subcomponent versions can be shown on the console using:
sudo fwupdtool plugins ccgx get-devices show-all verbose
## Firmware Format
There are two kinds of firmware format.