mirror of
https://git.proxmox.com/git/fwupd
synced 2025-07-25 20:45:07 +00:00
genesys: scaler: Allow to specify Cfi
This allows to specify the Cfi device via the GenesysScalerCfiFlashId quirk key.
This commit is contained in:
parent
6f7c4bb195
commit
882ab0812f
@ -126,6 +126,15 @@ Scaler GPIO value.
|
|||||||
|
|
||||||
Since 1.7.6.
|
Since 1.7.6.
|
||||||
|
|
||||||
|
### GenesysScalerCfiFlashId
|
||||||
|
|
||||||
|
CFI Flash Id.
|
||||||
|
|
||||||
|
* HP M24fd USB-C Monitor: `0xC22016`
|
||||||
|
* HP M27fd USB-C Monitor: `0xC84016`
|
||||||
|
|
||||||
|
Since 1.8.2.
|
||||||
|
|
||||||
## Runtime Requirement
|
## Runtime Requirement
|
||||||
|
|
||||||
The USB Hub devices and its attached Scaler require libgusb version [0.3.8][1] or later to be detected.
|
The USB Hub devices and its attached Scaler require libgusb version [0.3.8][1] or later to be detected.
|
||||||
|
@ -63,6 +63,7 @@ struct _FuGenesysScalerDevice {
|
|||||||
FuDevice parent_instance;
|
FuDevice parent_instance;
|
||||||
guint8 level;
|
guint8 level;
|
||||||
FuGenesysPublicKey public_key;
|
FuGenesysPublicKey public_key;
|
||||||
|
guint32 cfi_flash_id;
|
||||||
FuCfiDevice *cfi_device;
|
FuCfiDevice *cfi_device;
|
||||||
FuGenesysVendorCommand vc;
|
FuGenesysVendorCommand vc;
|
||||||
guint32 sector_size;
|
guint32 sector_size;
|
||||||
@ -1643,8 +1644,10 @@ fu_genesys_scaler_device_setup(FuDevice *device, GError **error)
|
|||||||
guint64 size;
|
guint64 size;
|
||||||
guint32 sector_size;
|
guint32 sector_size;
|
||||||
guint32 page_size;
|
guint32 page_size;
|
||||||
|
g_autofree gchar *flash_id = NULL;
|
||||||
|
|
||||||
self->cfi_device = fu_cfi_device_new(fu_device_get_context(FU_DEVICE(self)), "C84016");
|
flash_id = g_strdup_printf("%06X", self->cfi_flash_id);
|
||||||
|
self->cfi_device = fu_cfi_device_new(fu_device_get_context(FU_DEVICE(self)), flash_id);
|
||||||
if (!fu_device_setup(FU_DEVICE(self->cfi_device), error))
|
if (!fu_device_setup(FU_DEVICE(self->cfi_device), error))
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|
||||||
@ -1915,6 +1918,7 @@ fu_genesys_scaler_device_to_string(FuDevice *device, guint idt, GString *str)
|
|||||||
fu_common_string_append_kx(str, idt, "GpioOutputRegister", self->gpio_out_reg);
|
fu_common_string_append_kx(str, idt, "GpioOutputRegister", self->gpio_out_reg);
|
||||||
fu_common_string_append_kx(str, idt, "GpioEnableRegister", self->gpio_en_reg);
|
fu_common_string_append_kx(str, idt, "GpioEnableRegister", self->gpio_en_reg);
|
||||||
fu_common_string_append_kx(str, idt, "GpioValue", self->gpio_val);
|
fu_common_string_append_kx(str, idt, "GpioValue", self->gpio_val);
|
||||||
|
fu_common_string_append_kx(str, idt, "CfiFlashId", self->cfi_flash_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
@ -1958,6 +1962,14 @@ fu_genesys_scaler_device_set_quirk_kv(FuDevice *device,
|
|||||||
/* success */
|
/* success */
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
if (g_strcmp0(key, "GenesysScalerCfiFlashId") == 0) {
|
||||||
|
if (!fu_common_strtoull_full(value, &tmp, 0, 0x00ffffffU, error))
|
||||||
|
return FALSE;
|
||||||
|
self->cfi_flash_id = tmp;
|
||||||
|
|
||||||
|
/* success */
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
|
||||||
/* failure */
|
/* failure */
|
||||||
g_set_error_literal(error,
|
g_set_error_literal(error,
|
||||||
|
@ -41,6 +41,7 @@ Flags = use-i2c-ch0
|
|||||||
GenesysScalerGpioOutputRegister = 0x0426
|
GenesysScalerGpioOutputRegister = 0x0426
|
||||||
GenesysScalerGpioEnableRegister = 0x0428
|
GenesysScalerGpioEnableRegister = 0x0428
|
||||||
GenesysScalerGpioValue = 0x01
|
GenesysScalerGpioValue = 0x01
|
||||||
|
GenesysScalerCfiFlashId = 0xC22016
|
||||||
|
|
||||||
[GENESYS_SCALER\MSTAR_TSUM_G&PUBKEY_847A3650-8648-586B-83C8-8B53714F37E3&PANELREV_RIM101]
|
[GENESYS_SCALER\MSTAR_TSUM_G&PUBKEY_847A3650-8648-586B-83C8-8B53714F37E3&PANELREV_RIM101]
|
||||||
Name = HP M27fd USB-C Monitor
|
Name = HP M27fd USB-C Monitor
|
||||||
@ -48,3 +49,4 @@ Flags = use-i2c-ch0
|
|||||||
GenesysScalerGpioOutputRegister = 0x0426
|
GenesysScalerGpioOutputRegister = 0x0426
|
||||||
GenesysScalerGpioEnableRegister = 0x0428
|
GenesysScalerGpioEnableRegister = 0x0428
|
||||||
GenesysScalerGpioValue = 0x01
|
GenesysScalerGpioValue = 0x01
|
||||||
|
GenesysScalerCfiFlashId = 0xC84016
|
||||||
|
Loading…
Reference in New Issue
Block a user