Signed tag for the immutable platform-drivers-x86-goodix branch for merging into the input subsystem.
-----BEGIN PGP SIGNATURE----- iQFIBAABCAAyFiEEuvA7XScYQRpenhd+kuxHeUQDJ9wFAmCng30UHGhkZWdvZWRl QHJlZGhhdC5jb20ACgkQkuxHeUQDJ9yEhggAmYRz34z7y0jQCk2gCTnijjHjvr+0 Af7+8JfpMCiXilzzraOe/3cVDY/labsfS7jvaPrSKw81EG1n/WjE9ZyXEHl5vTvw sytdXGHzoei/RduSiWDnYZgjfWNpfDIuSbwWcFMtPuCoELdW6O7w0oUyKyiMP6Gp CCEHsJuHGh6ErsVDdYfp+oDhF3H3WTeJxKDAvi3jp73bv7g3HgCZWWz3YUL1MZoK twn/t9EWYQAT6bKZ3NeAUW8STuqVg/eri2oncsAk9pnQw8BqV9orfyosROcOh2nH PdqNNe3WWuuoNq2IZ4PNOYQ0uwDrntLcVGA0QdOF4YsWQezqQXdHkltPCg== =DG5t -----END PGP SIGNATURE----- Merge tag 'platform-drivers-x86-goodix-v5.14-1' into review-hans Signed tag for the immutable platform-drivers-x86-goodix branch for merging into the input subsystem.
This commit is contained in:
Коммит
cf80294e1e
|
@ -178,51 +178,6 @@ static const unsigned long goodix_irq_flags[] = {
|
|||
IRQ_TYPE_LEVEL_HIGH,
|
||||
};
|
||||
|
||||
/*
|
||||
* Those tablets have their coordinates origin at the bottom right
|
||||
* of the tablet, as if rotated 180 degrees
|
||||
*/
|
||||
static const struct dmi_system_id rotated_screen[] = {
|
||||
#if defined(CONFIG_DMI) && defined(CONFIG_X86)
|
||||
{
|
||||
.ident = "Teclast X89",
|
||||
.matches = {
|
||||
/* tPAD is too generic, also match on bios date */
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "tPAD"),
|
||||
DMI_MATCH(DMI_BIOS_DATE, "12/19/2014"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.ident = "Teclast X98 Pro",
|
||||
.matches = {
|
||||
/*
|
||||
* Only match BIOS date, because the manufacturers
|
||||
* BIOS does not report the board name at all
|
||||
* (sometimes)...
|
||||
*/
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"),
|
||||
DMI_MATCH(DMI_BIOS_DATE, "10/28/2015"),
|
||||
},
|
||||
},
|
||||
{
|
||||
.ident = "WinBook TW100",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "WinBook"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW100")
|
||||
}
|
||||
},
|
||||
{
|
||||
.ident = "WinBook TW700",
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "WinBook"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW700")
|
||||
},
|
||||
},
|
||||
#endif
|
||||
{}
|
||||
};
|
||||
|
||||
static const struct dmi_system_id nine_bytes_report[] = {
|
||||
#if defined(CONFIG_DMI) && defined(CONFIG_X86)
|
||||
{
|
||||
|
@ -1123,13 +1078,6 @@ static int goodix_configure_dev(struct goodix_ts_data *ts)
|
|||
ABS_MT_POSITION_Y, ts->prop.max_y);
|
||||
}
|
||||
|
||||
if (dmi_check_system(rotated_screen)) {
|
||||
ts->prop.invert_x = true;
|
||||
ts->prop.invert_y = true;
|
||||
dev_dbg(&ts->client->dev,
|
||||
"Applying '180 degrees rotated screen' quirk\n");
|
||||
}
|
||||
|
||||
if (dmi_check_system(nine_bytes_report)) {
|
||||
ts->contact_size = 9;
|
||||
|
||||
|
|
|
@ -299,6 +299,35 @@ static const struct ts_dmi_data estar_beauty_hd_data = {
|
|||
.properties = estar_beauty_hd_props,
|
||||
};
|
||||
|
||||
/* Generic props + data for upside-down mounted GDIX1001 touchscreens */
|
||||
static const struct property_entry gdix1001_upside_down_props[] = {
|
||||
PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
|
||||
PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct ts_dmi_data gdix1001_00_upside_down_data = {
|
||||
.acpi_name = "GDIX1001:00",
|
||||
.properties = gdix1001_upside_down_props,
|
||||
};
|
||||
|
||||
static const struct ts_dmi_data gdix1001_01_upside_down_data = {
|
||||
.acpi_name = "GDIX1001:01",
|
||||
.properties = gdix1001_upside_down_props,
|
||||
};
|
||||
|
||||
static const struct property_entry glavey_tm800a550l_props[] = {
|
||||
PROPERTY_ENTRY_STRING("firmware-name", "gt912-glavey-tm800a550l.fw"),
|
||||
PROPERTY_ENTRY_STRING("goodix,config-name", "gt912-glavey-tm800a550l.cfg"),
|
||||
PROPERTY_ENTRY_U32("goodix,main-clk", 54),
|
||||
{ }
|
||||
};
|
||||
|
||||
static const struct ts_dmi_data glavey_tm800a550l_data = {
|
||||
.acpi_name = "GDIX1001:00",
|
||||
.properties = glavey_tm800a550l_props,
|
||||
};
|
||||
|
||||
static const struct property_entry gp_electronic_t701_props[] = {
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-x", 960),
|
||||
PROPERTY_ENTRY_U32("touchscreen-size-y", 640),
|
||||
|
@ -1038,6 +1067,15 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
|||
DMI_MATCH(DMI_PRODUCT_NAME, "eSTAR BEAUTY HD Intel Quad core"),
|
||||
},
|
||||
},
|
||||
{ /* Glavey TM800A550L */
|
||||
.driver_data = (void *)&glavey_tm800a550l_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
|
||||
/* Above strings are too generic, also match on BIOS version */
|
||||
DMI_MATCH(DMI_BIOS_VERSION, "ZY-8-BI-PX4S70VTR400-X423B-005-D"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* GP-electronic T701 */
|
||||
.driver_data = (void *)&gp_electronic_t701_data,
|
||||
|
@ -1330,6 +1368,24 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
|||
DMI_MATCH(DMI_BOARD_NAME, "X3 Plus"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Teclast X89 (Android version / BIOS) */
|
||||
.driver_data = (void *)&gdix1001_00_upside_down_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "WISKY"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "3G062i"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Teclast X89 (Windows version / BIOS) */
|
||||
.driver_data = (void *)&gdix1001_01_upside_down_data,
|
||||
.matches = {
|
||||
/* tPAD is too generic, also match on bios date */
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"),
|
||||
DMI_MATCH(DMI_BOARD_NAME, "tPAD"),
|
||||
DMI_MATCH(DMI_BIOS_DATE, "12/19/2014"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Teclast X98 Plus II */
|
||||
.driver_data = (void *)&teclast_x98plus2_data,
|
||||
|
@ -1338,6 +1394,19 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
|||
DMI_MATCH(DMI_PRODUCT_NAME, "X98 Plus II"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Teclast X98 Pro */
|
||||
.driver_data = (void *)&gdix1001_00_upside_down_data,
|
||||
.matches = {
|
||||
/*
|
||||
* Only match BIOS date, because the manufacturers
|
||||
* BIOS does not report the board name at all
|
||||
* (sometimes)...
|
||||
*/
|
||||
DMI_MATCH(DMI_BOARD_VENDOR, "TECLAST"),
|
||||
DMI_MATCH(DMI_BIOS_DATE, "10/28/2015"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Trekstor Primebook C11 */
|
||||
.driver_data = (void *)&trekstor_primebook_c11_data,
|
||||
|
@ -1413,6 +1482,22 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
|
|||
DMI_MATCH(DMI_PRODUCT_NAME, "VINGA Twizzle J116"),
|
||||
},
|
||||
},
|
||||
{
|
||||
/* "WinBook TW100" */
|
||||
.driver_data = (void *)&gdix1001_00_upside_down_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "WinBook"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW100")
|
||||
}
|
||||
},
|
||||
{
|
||||
/* WinBook TW700 */
|
||||
.driver_data = (void *)&gdix1001_00_upside_down_data,
|
||||
.matches = {
|
||||
DMI_MATCH(DMI_SYS_VENDOR, "WinBook"),
|
||||
DMI_MATCH(DMI_PRODUCT_NAME, "TW700")
|
||||
},
|
||||
},
|
||||
{
|
||||
/* Yours Y8W81, same case and touchscreen as Chuwi Vi8 */
|
||||
.driver_data = (void *)&chuwi_vi8_data,
|
||||
|
|
Загрузка…
Ссылка в новой задаче