Richard Hughes
6dd54fa9c4
vli: Set the MSP430 version format to pair
...
Apparently the Windows tool ignores the first byte, so we should too.
2020-03-03 14:19:42 +00:00
Richard Hughes
f50ff2c27e
Decouple the version format from the version itself
...
If we say that the version format should be the same for the `version_lowest`
and the `version_bootloader` then it does not always make sense to set it at
the same time.
Moving the `version_format` to a standalone first-class property also means it
can be typically be set in the custom device `_init()` function, which means we
don't need to worry about *changing* ther version format as set by the USB and
UDev superclass helpers.
2020-02-25 14:00:09 +00:00
Richard Hughes
ea71dc7e73
vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child
2020-02-12 08:51:24 +00:00
Richard Hughes
e20d6b3c33
vli: Switch around the hub tier values
...
I got given the wrong values...
2020-02-12 08:50:48 +00:00
Richard Hughes
2b108e4ab1
vli: Show erase progress when doing a v2 recovery
2020-02-11 13:40:05 +00:00
Richard Hughes
00a0be068a
vli: Add support for the PS186 device
2020-02-11 12:08:37 +00:00
Richard Hughes
af3b91d490
Set up more parent devices for various Lenovo USB hubs
2020-02-11 11:22:20 +00:00
Richard Hughes
6c3db94f14
vli: Add support for Lenovo Modularized dock
2020-02-11 11:18:10 +00:00
Richard Hughes
e7e37ec223
vli: Remove the unused tierX custom flags for each device
...
We now know what this means on real hardware!
2020-02-10 14:58:38 -06:00
Richard Hughes
ef168b289e
vli: Fix a potential buffer-overflow when parsing firmware
...
Spotted by Coverity.
2020-02-07 15:16:39 +00:00
Richard Hughes
e4661788ec
vli: Set the device progress correctly when erasing a PD device
2020-02-06 20:38:19 +00:00
Richard Hughes
e17dd6f0cd
vli: Use the correct command to get the device firmware version
...
Mea culpa; I misread the example code. It's a different command entirely.
2020-02-06 20:38:19 +00:00
Richard Hughes
6afe612c2f
vli: Correctly reset all VL100 devices
...
The reset happens before the USB transfer completes.
2020-02-06 20:38:19 +00:00
Richard Hughes
4359ea9017
vli: Set all standalone PD devices to not do SPI auto-detection
2020-02-06 20:38:19 +00:00
Richard Hughes
9d22db26f9
vli: Mark standalone PD devices as updatable
2020-02-06 20:38:19 +00:00
Richard Hughes
003c150cc2
vli: Set the protocol for FuVliUsbhubPdDevice types
2020-02-05 17:23:51 +00:00
Richard Hughes
e01c4cc8cb
vli: Add the DEV instance ID to all devices
...
In some composite dock hardware there are two USB devices exported to the host,
both with the same VID:PID values. We need to use the device type (e.g. VL812B3)
to differenciate the devices and install the correct fw on the correct device.
2020-02-04 15:52:07 +00:00
Richard Hughes
21eaeeff8d
trivial: Fix up some typos found using codespell
2020-01-14 12:25:41 +00:00
Richard Hughes
5bf8c1a23b
vli: Set more of the firmware max sizes automatically
...
With data from VIA, many thanks.
2020-01-02 13:24:13 +00:00
Richard Hughes
727938427b
vli: Add a SpiAutoDetect quirk for some of the PD devices
...
It seems command 0xc0 is not supported on this hardware.
2020-01-02 13:24:13 +00:00
Richard Hughes
fbffb16378
vli: Use a different protocol ID for i2c devices
...
These devices report a triplet version format, not a quad.
2020-01-02 13:24:13 +00:00
Richard Hughes
a24752d661
vli: Add support for standalone Single PD devices
2020-01-02 13:24:13 +00:00
Richard Hughes
52a7d0bd34
vli: Move generic SPI functionality into the FuVliDevice base class
...
To implement the SPI commands, objects can derive from FuVliDevice and
implement the new vfuncs. This allows us to override the implementation for
minor API changes.
2020-01-02 13:24:13 +00:00
Richard Hughes
c12163b374
vli: Remove the PD emulation code
...
I have actual hardware now...
2020-01-02 13:24:13 +00:00
Richard Hughes
714c4ce9d3
vli: Use a more standard GUID for the child i²c and shared SPI devices
...
We sometiems need to restrict the firwmare to the parent VID:PID too.
2020-01-02 13:24:13 +00:00
Richard Hughes
e2a9b15f16
vli: Allow setting the device kind from a quirk
2020-01-02 13:24:13 +00:00
Richard Hughes
050f998835
vli: Make more function names match the docs
2020-01-02 13:24:13 +00:00
Richard Hughes
3243374d41
vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice
2020-01-02 13:24:13 +00:00
Richard Hughes
8b5a560b1c
vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware
...
This is used by non-usbhub devices too, albeit at offset 0x0.
2020-01-02 13:24:13 +00:00
Richard Hughes
617bd7025f
vli: Allow the device to specify the PD firmware header offset
...
We only want a non-0x0 offset for firmware with a prepended USB hub header.
2020-01-02 13:24:13 +00:00
Richard Hughes
b02d9988ad
vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice
...
At the moment this doe not do anything clever, but other device types will
derive from the base class in the future.
2020-01-02 13:24:13 +00:00
Richard Hughes
62b84d4c5b
vli: Define the device GType in the quirk file
...
This allows us to define different types of devices in the future.
2020-01-02 13:24:13 +00:00
Richard Hughes
15857f8056
vli: Move the CRC calculations out of usbhub scope
2020-01-02 13:24:13 +00:00
Richard Hughes
e968c0ec07
vli: Have one 'DeviceKind' for all objects
...
We'll soon have PD devices that are not children of the FuVliUsbhubDevice and
so it makes sense to flattern out the namespace. Also, less code.
2020-01-02 13:24:13 +00:00
Richard Hughes
f169186700
vli: Rename the vli_usbhub
plugin to vli
...
In the future we'll be doing PD updates without any USB hub at all.
2020-01-02 13:24:13 +00:00