diff options
Diffstat (limited to 'drivers/platform/x86/touchscreen_dmi.c')
| -rw-r--r-- | drivers/platform/x86/touchscreen_dmi.c | 54 | 
1 files changed, 50 insertions, 4 deletions
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c index 0e1451b1d9c6..033f797861d8 100644 --- a/drivers/platform/x86/touchscreen_dmi.c +++ b/drivers/platform/x86/touchscreen_dmi.c @@ -100,10 +100,10 @@ static const struct ts_dmi_data chuwi_hi10_air_data = {  };  static const struct property_entry chuwi_hi10_plus_props[] = { -	PROPERTY_ENTRY_U32("touchscreen-min-x", 0), -	PROPERTY_ENTRY_U32("touchscreen-min-y", 5), -	PROPERTY_ENTRY_U32("touchscreen-size-x", 1914), -	PROPERTY_ENTRY_U32("touchscreen-size-y", 1283), +	PROPERTY_ENTRY_U32("touchscreen-min-x", 12), +	PROPERTY_ENTRY_U32("touchscreen-min-y", 10), +	PROPERTY_ENTRY_U32("touchscreen-size-x", 1908), +	PROPERTY_ENTRY_U32("touchscreen-size-y", 1270),  	PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hi10plus.fw"),  	PROPERTY_ENTRY_U32("silead,max-fingers", 10),  	PROPERTY_ENTRY_BOOL("silead,home-button"), @@ -111,6 +111,15 @@ static const struct property_entry chuwi_hi10_plus_props[] = {  };  static const struct ts_dmi_data chuwi_hi10_plus_data = { +	.embedded_fw = { +		.name	= "silead/gsl1680-chuwi-hi10plus.fw", +		.prefix = { 0xf0, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00 }, +		.length	= 34056, +		.sha256	= { 0xfd, 0x0a, 0x08, 0x08, 0x3c, 0xa6, 0x34, 0x4e, +			    0x2c, 0x49, 0x9c, 0xcd, 0x7d, 0x44, 0x9d, 0x38, +			    0x10, 0x68, 0xb5, 0xbd, 0xb7, 0x2a, 0x63, 0xb5, +			    0x67, 0x0b, 0x96, 0xbd, 0x89, 0x67, 0x85, 0x09 }, +	},  	.acpi_name      = "MSSL0017:00",  	.properties     = chuwi_hi10_plus_props,  }; @@ -141,6 +150,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), @@ -980,6 +1016,16 @@ const struct dmi_system_id touchscreen_dmi_table[] = {  		},  	},  	{ +		/* 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,  		.matches = {  |