Richard Hughes
be12af78f0
ccgx: Add extra instance IDs to match specific firmware
...
The VID:PID of the device in HPI mode is shared between multiple vendors, and
so we need to use both the silicon ID and the application ID to match specific
firmware updates.
2020-03-31 08:59:27 +01:00
Richard Hughes
49797d7de4
ccgx: Reset the i2c bridge on status failure
2020-03-28 12:46:03 +00:00
Richard Hughes
81da69e73d
ccgx: Implement writing firmware to flash
...
Correctly attach into the alternate mode after the update has completed.
The vendor was appending two files to make LVFS distribution 'easier' but I'd
much rather use the same deliverables as Windows. This also allows us to
simplify the firmware loading.
2020-03-27 13:25:40 +00:00
Changhee (Ryan) Lee
338f5a4083
ccgx: Add i2c status check when reading or writing registers
...
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-03-27 13:25:40 +00:00
Changhee (Ryan) Lee
064c5cce19
ccgx: Add 5ms delay between read registers to avoid an i2c error
...
Signed-off-by: Richard Hughes <richard@hughsie.com>
2020-03-27 13:25:40 +00:00
Richard Hughes
87d39d06a3
ccgx: Do not store the silicon ID in the image address
...
First, it's a hack; second we actually need to store the start address for
flashing FW2 on asymmetric hardware...
2020-03-24 21:16:08 +00:00
Richard Hughes
dab6bda2be
ccgx: Clear the event queue when in startup
2020-03-24 21:16:08 +00:00
Richard Hughes
fd7f13f905
ccgx: Wait for hardware to settle when coming out of reset
2020-03-24 21:16:08 +00:00
Richard Hughes
3990a71401
ccgx: Do not mark the device as updatable when in boot mode
2020-03-24 21:16:08 +00:00
Richard Hughes
c6147bf340
ccgx: Verify the firmware app type when preparing firmware
2020-03-24 21:16:08 +00:00
Richard Hughes
de61d27259
ccgx: Read the FwAppType from the hardware
2020-03-24 21:16:08 +00:00
Richard Hughes
2b45362e25
ccgx: Set the HPI version number for the current firmware
2020-03-24 21:16:08 +00:00
Richard Hughes
c6a671be7e
ccgx: Get the silicon ID to map the flash parameters
2020-03-24 21:16:08 +00:00
Richard Hughes
11fa0a1e90
ccgx: Read the HPI device mode at startup
2020-03-24 21:16:08 +00:00
Richard Hughes
0a37232ba1
ccgx: Set up the HPI I²C config at startup
2020-03-24 21:16:08 +00:00
Richard Hughes
62aa46cb83
ccgx: Create devices when in HID and I2C modes
2020-03-23 20:02:17 +00:00