aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/touchscreen_dmi.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/platform/x86/touchscreen_dmi.c')
-rw-r--r--drivers/platform/x86/touchscreen_dmi.c79
1 files changed, 79 insertions, 0 deletions
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index 8c5d47c0aea6..2d56ff7c8230 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -41,6 +41,20 @@ static const struct ts_dmi_data chuwi_hi8_data = {
41 .properties = chuwi_hi8_props, 41 .properties = chuwi_hi8_props,
42}; 42};
43 43
44static const struct property_entry chuwi_hi8_air_props[] = {
45 PROPERTY_ENTRY_U32("touchscreen-size-x", 1728),
46 PROPERTY_ENTRY_U32("touchscreen-size-y", 1148),
47 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
48 PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-chuwi-hi8-air.fw"),
49 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
50 { }
51};
52
53static const struct ts_dmi_data chuwi_hi8_air_data = {
54 .acpi_name = "MSSL1680:00",
55 .properties = chuwi_hi8_air_props,
56};
57
44static const struct property_entry chuwi_hi8_pro_props[] = { 58static const struct property_entry chuwi_hi8_pro_props[] = {
45 PROPERTY_ENTRY_U32("touchscreen-min-x", 6), 59 PROPERTY_ENTRY_U32("touchscreen-min-x", 6),
46 PROPERTY_ENTRY_U32("touchscreen-min-y", 3), 60 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
@@ -58,6 +72,25 @@ static const struct ts_dmi_data chuwi_hi8_pro_data = {
58 .properties = chuwi_hi8_pro_props, 72 .properties = chuwi_hi8_pro_props,
59}; 73};
60 74
75static const struct property_entry chuwi_hi10_air_props[] = {
76 PROPERTY_ENTRY_U32("touchscreen-size-x", 1981),
77 PROPERTY_ENTRY_U32("touchscreen-size-y", 1271),
78 PROPERTY_ENTRY_U32("touchscreen-min-x", 99),
79 PROPERTY_ENTRY_U32("touchscreen-min-y", 9),
80 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
81 PROPERTY_ENTRY_U32("touchscreen-fuzz-x", 5),
82 PROPERTY_ENTRY_U32("touchscreen-fuzz-y", 4),
83 PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-chuwi-hi10-air.fw"),
84 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
85 PROPERTY_ENTRY_BOOL("silead,home-button"),
86 { }
87};
88
89static const struct ts_dmi_data chuwi_hi10_air_data = {
90 .acpi_name = "MSSL1680:00",
91 .properties = chuwi_hi10_air_props,
92};
93
61static const struct property_entry chuwi_vi8_props[] = { 94static const struct property_entry chuwi_vi8_props[] = {
62 PROPERTY_ENTRY_U32("touchscreen-min-x", 4), 95 PROPERTY_ENTRY_U32("touchscreen-min-x", 4),
63 PROPERTY_ENTRY_U32("touchscreen-min-y", 6), 96 PROPERTY_ENTRY_U32("touchscreen-min-y", 6),
@@ -369,6 +402,24 @@ static const struct ts_dmi_data pov_mobii_wintab_p800w_v21_data = {
369 .properties = pov_mobii_wintab_p800w_v21_props, 402 .properties = pov_mobii_wintab_p800w_v21_props,
370}; 403};
371 404
405static const struct property_entry pov_mobii_wintab_p1006w_v10_props[] = {
406 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
407 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
408 PROPERTY_ENTRY_U32("touchscreen-size-x", 1984),
409 PROPERTY_ENTRY_U32("touchscreen-size-y", 1520),
410 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
411 PROPERTY_ENTRY_STRING("firmware-name",
412 "gsl3692-pov-mobii-wintab-p1006w-v10.fw"),
413 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
414 PROPERTY_ENTRY_BOOL("silead,home-button"),
415 { }
416};
417
418static const struct ts_dmi_data pov_mobii_wintab_p1006w_v10_data = {
419 .acpi_name = "MSSL1680:00",
420 .properties = pov_mobii_wintab_p1006w_v10_props,
421};
422
372static const struct property_entry teclast_x3_plus_props[] = { 423static const struct property_entry teclast_x3_plus_props[] = {
373 PROPERTY_ENTRY_U32("touchscreen-size-x", 1980), 424 PROPERTY_ENTRY_U32("touchscreen-size-x", 1980),
374 PROPERTY_ENTRY_U32("touchscreen-size-y", 1500), 425 PROPERTY_ENTRY_U32("touchscreen-size-y", 1500),
@@ -498,6 +549,15 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
498 }, 549 },
499 }, 550 },
500 { 551 {
552 /* Chuwi Hi8 Air (CWI543) */
553 .driver_data = (void *)&chuwi_hi8_air_data,
554 .matches = {
555 DMI_MATCH(DMI_BOARD_VENDOR, "Default string"),
556 DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"),
557 DMI_MATCH(DMI_PRODUCT_NAME, "Hi8 Air"),
558 },
559 },
560 {
501 /* Chuwi Hi8 Pro (CWI513) */ 561 /* Chuwi Hi8 Pro (CWI513) */
502 .driver_data = (void *)&chuwi_hi8_pro_data, 562 .driver_data = (void *)&chuwi_hi8_pro_data,
503 .matches = { 563 .matches = {
@@ -506,6 +566,14 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
506 }, 566 },
507 }, 567 },
508 { 568 {
569 /* Chuwi Hi10 Air */
570 .driver_data = (void *)&chuwi_hi10_air_data,
571 .matches = {
572 DMI_MATCH(DMI_BOARD_VENDOR, "Hampoo"),
573 DMI_MATCH(DMI_PRODUCT_SKU, "P1W6_C109D_B"),
574 },
575 },
576 {
509 /* Chuwi Vi8 (CWI506) */ 577 /* Chuwi Vi8 (CWI506) */
510 .driver_data = (void *)&chuwi_vi8_data, 578 .driver_data = (void *)&chuwi_vi8_data,
511 .matches = { 579 .matches = {
@@ -707,6 +775,17 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
707 }, 775 },
708 }, 776 },
709 { 777 {
778 /* Point of View mobii wintab p1006w (v1.0) */
779 .driver_data = (void *)&pov_mobii_wintab_p1006w_v10_data,
780 .matches = {
781 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "Insyde"),
782 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "BayTrail"),
783 /* Note 105b is Foxcon's USB/PCI vendor id */
784 DMI_EXACT_MATCH(DMI_BOARD_VENDOR, "105B"),
785 DMI_EXACT_MATCH(DMI_BOARD_NAME, "0E57"),
786 },
787 },
788 {
710 /* Teclast X3 Plus */ 789 /* Teclast X3 Plus */
711 .driver_data = (void *)&teclast_x3_plus_data, 790 .driver_data = (void *)&teclast_x3_plus_data,
712 .matches = { 791 .matches = {