Hi All, On 9/5/21 3:02 PM, Hans de Goede wrote: > Add touchscreen info for the Chuwi HiBook (CWI514) tablet. This includes > info for getting the firmware directly from the UEFI, so that the user does > not need to manually install the firmware in /lib/firmware/silead. > > This change will make the touchscreen on these devices work OOTB, > without requiring any manual setup. > > Signed-off-by: Hans de Goede <hdegoede@xxxxxxxxxx> I've added both these patches to my review-hans and fixes branches now. Regards, Hans > --- > drivers/platform/x86/touchscreen_dmi.c | 37 ++++++++++++++++++++++++++ > 1 file changed, 37 insertions(+) > > diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c > index 0e1451b1d9c6..1f9cb756b103 100644 > --- a/drivers/platform/x86/touchscreen_dmi.c > +++ b/drivers/platform/x86/touchscreen_dmi.c > @@ -141,6 +141,33 @@ static const struct ts_dmi_data chuwi_hi10_pro_data = { > .properties = chuwi_hi10_pro_props, > }; > > +static const struct property_entry chuwi_hibook_props[] = { > + PROPERTY_ENTRY_U32("touchscreen-min-x", 30), > + PROPERTY_ENTRY_U32("touchscreen-min-y", 4), > + PROPERTY_ENTRY_U32("touchscreen-size-x", 1892), > + PROPERTY_ENTRY_U32("touchscreen-size-y", 1276), > + PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"), > + PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), > + PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hibook.fw"), > + PROPERTY_ENTRY_U32("silead,max-fingers", 10), > + PROPERTY_ENTRY_BOOL("silead,home-button"), > + { } > +}; > + > +static const struct ts_dmi_data chuwi_hibook_data = { > + .embedded_fw = { > + .name = "silead/gsl1680-chuwi-hibook.fw", > + .prefix = { 0xf0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 }, > + .length = 40392, > + .sha256 = { 0xf7, 0xc0, 0xe8, 0x5a, 0x6c, 0xf2, 0xeb, 0x8d, > + 0x12, 0xc4, 0x45, 0xbf, 0x55, 0x13, 0x4c, 0x1a, > + 0x13, 0x04, 0x31, 0x08, 0x65, 0x73, 0xf7, 0xa8, > + 0x1b, 0x7d, 0x59, 0xc9, 0xe6, 0x97, 0xf7, 0x38 }, > + }, > + .acpi_name = "MSSL0017:00", > + .properties = chuwi_hibook_props, > +}; > + > static const struct property_entry chuwi_vi8_props[] = { > PROPERTY_ENTRY_U32("touchscreen-min-x", 4), > PROPERTY_ENTRY_U32("touchscreen-min-y", 6), > @@ -979,6 +1006,16 @@ const struct dmi_system_id touchscreen_dmi_table[] = { > DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"), > }, > }, > + { > + /* Chuwi HiBook (CWI514) */ > + .driver_data = (void *)&chuwi_hibook_data, > + .matches = { > + DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"), > + DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"), > + /* Above matches are too generic, add bios-date match */ > + DMI_MATCH(DMI_BIOS_DATE, "05/07/2016"), > + }, > + }, > { > /* Chuwi Vi8 (CWI506) */ > .driver_data = (void *)&chuwi_vi8_data, >