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.c107
1 files changed, 99 insertions, 8 deletions
diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
index cb204f973491..5f2d7ea912b5 100644
--- a/drivers/platform/x86/touchscreen_dmi.c
+++ b/drivers/platform/x86/touchscreen_dmi.c
@@ -42,10 +42,13 @@ static const struct ts_dmi_data chuwi_hi8_data = {
42}; 42};
43 43
44static const struct property_entry chuwi_hi8_pro_props[] = { 44static const struct property_entry chuwi_hi8_pro_props[] = {
45 PROPERTY_ENTRY_U32("touchscreen-min-x", 6),
46 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
45 PROPERTY_ENTRY_U32("touchscreen-size-x", 1728), 47 PROPERTY_ENTRY_U32("touchscreen-size-x", 1728),
46 PROPERTY_ENTRY_U32("touchscreen-size-y", 1148), 48 PROPERTY_ENTRY_U32("touchscreen-size-y", 1148),
47 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 49 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
48 PROPERTY_ENTRY_STRING("firmware-name", "gsl3680-chuwi-hi8-pro.fw"), 50 PROPERTY_ENTRY_STRING("firmware-name", "gsl3680-chuwi-hi8-pro.fw"),
51 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
49 PROPERTY_ENTRY_BOOL("silead,home-button"), 52 PROPERTY_ENTRY_BOOL("silead,home-button"),
50 { } 53 { }
51}; 54};
@@ -56,6 +59,8 @@ static const struct ts_dmi_data chuwi_hi8_pro_data = {
56}; 59};
57 60
58static const struct property_entry chuwi_vi8_props[] = { 61static const struct property_entry chuwi_vi8_props[] = {
62 PROPERTY_ENTRY_U32("touchscreen-min-x", 4),
63 PROPERTY_ENTRY_U32("touchscreen-min-y", 6),
59 PROPERTY_ENTRY_U32("touchscreen-size-x", 1724), 64 PROPERTY_ENTRY_U32("touchscreen-size-x", 1724),
60 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140), 65 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
61 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 66 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
@@ -88,9 +93,9 @@ static const struct ts_dmi_data chuwi_vi10_data = {
88 93
89static const struct property_entry connect_tablet9_props[] = { 94static const struct property_entry connect_tablet9_props[] = {
90 PROPERTY_ENTRY_U32("touchscreen-min-x", 9), 95 PROPERTY_ENTRY_U32("touchscreen-min-x", 9),
91 PROPERTY_ENTRY_U32("touchscreen-min-y", 8), 96 PROPERTY_ENTRY_U32("touchscreen-min-y", 10),
92 PROPERTY_ENTRY_U32("touchscreen-size-x", 1664), 97 PROPERTY_ENTRY_U32("touchscreen-size-x", 1664),
93 PROPERTY_ENTRY_U32("touchscreen-size-y", 878), 98 PROPERTY_ENTRY_U32("touchscreen-size-y", 880),
94 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"), 99 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
95 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 100 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
96 PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-connect-tablet9.fw"), 101 PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-connect-tablet9.fw"),
@@ -104,8 +109,10 @@ static const struct ts_dmi_data connect_tablet9_data = {
104}; 109};
105 110
106static const struct property_entry cube_iwork8_air_props[] = { 111static const struct property_entry cube_iwork8_air_props[] = {
107 PROPERTY_ENTRY_U32("touchscreen-size-x", 1660), 112 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
108 PROPERTY_ENTRY_U32("touchscreen-size-y", 900), 113 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
114 PROPERTY_ENTRY_U32("touchscreen-size-x", 1664),
115 PROPERTY_ENTRY_U32("touchscreen-size-y", 896),
109 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 116 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
110 PROPERTY_ENTRY_STRING("firmware-name", "gsl3670-cube-iwork8-air.fw"), 117 PROPERTY_ENTRY_STRING("firmware-name", "gsl3670-cube-iwork8-air.fw"),
111 PROPERTY_ENTRY_U32("silead,max-fingers", 10), 118 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
@@ -179,11 +186,14 @@ static const struct ts_dmi_data gp_electronic_t701_data = {
179}; 186};
180 187
181static const struct property_entry itworks_tw891_props[] = { 188static const struct property_entry itworks_tw891_props[] = {
189 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
190 PROPERTY_ENTRY_U32("touchscreen-min-y", 5),
182 PROPERTY_ENTRY_U32("touchscreen-size-x", 1600), 191 PROPERTY_ENTRY_U32("touchscreen-size-x", 1600),
183 PROPERTY_ENTRY_U32("touchscreen-size-y", 890), 192 PROPERTY_ENTRY_U32("touchscreen-size-y", 896),
184 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"), 193 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
185 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 194 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
186 PROPERTY_ENTRY_STRING("firmware-name", "gsl3670-itworks-tw891.fw"), 195 PROPERTY_ENTRY_STRING("firmware-name", "gsl3670-itworks-tw891.fw"),
196 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
187 { } 197 { }
188}; 198};
189 199
@@ -207,8 +217,10 @@ static const struct ts_dmi_data jumper_ezpad_6_pro_data = {
207}; 217};
208 218
209static const struct property_entry jumper_ezpad_mini3_props[] = { 219static const struct property_entry jumper_ezpad_mini3_props[] = {
220 PROPERTY_ENTRY_U32("touchscreen-min-x", 23),
221 PROPERTY_ENTRY_U32("touchscreen-min-y", 16),
210 PROPERTY_ENTRY_U32("touchscreen-size-x", 1700), 222 PROPERTY_ENTRY_U32("touchscreen-size-x", 1700),
211 PROPERTY_ENTRY_U32("touchscreen-size-y", 1150), 223 PROPERTY_ENTRY_U32("touchscreen-size-y", 1138),
212 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 224 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
213 PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-jumper-ezpad-mini3.fw"), 225 PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-jumper-ezpad-mini3.fw"),
214 PROPERTY_ENTRY_U32("silead,max-fingers", 10), 226 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
@@ -237,6 +249,24 @@ static const struct ts_dmi_data onda_obook_20_plus_data = {
237 .properties = onda_obook_20_plus_props, 249 .properties = onda_obook_20_plus_props,
238}; 250};
239 251
252static const struct property_entry onda_v80_plus_v3_props[] = {
253 PROPERTY_ENTRY_U32("touchscreen-min-x", 22),
254 PROPERTY_ENTRY_U32("touchscreen-min-y", 15),
255 PROPERTY_ENTRY_U32("touchscreen-size-x", 1698),
256 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
257 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
258 PROPERTY_ENTRY_STRING("firmware-name",
259 "gsl3676-onda-v80-plus-v3.fw"),
260 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
261 PROPERTY_ENTRY_BOOL("silead,home-button"),
262 { }
263};
264
265static const struct ts_dmi_data onda_v80_plus_v3_data = {
266 .acpi_name = "MSSL1680:00",
267 .properties = onda_v80_plus_v3_props,
268};
269
240static const struct property_entry onda_v820w_32g_props[] = { 270static const struct property_entry onda_v820w_32g_props[] = {
241 PROPERTY_ENTRY_U32("touchscreen-size-x", 1665), 271 PROPERTY_ENTRY_U32("touchscreen-size-x", 1665),
242 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140), 272 PROPERTY_ENTRY_U32("touchscreen-size-y", 1140),
@@ -322,11 +352,14 @@ static const struct ts_dmi_data pov_mobii_wintab_p800w_v20_data = {
322}; 352};
323 353
324static const struct property_entry pov_mobii_wintab_p800w_v21_props[] = { 354static const struct property_entry pov_mobii_wintab_p800w_v21_props[] = {
325 PROPERTY_ENTRY_U32("touchscreen-size-x", 1800), 355 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
326 PROPERTY_ENTRY_U32("touchscreen-size-y", 1150), 356 PROPERTY_ENTRY_U32("touchscreen-min-y", 8),
357 PROPERTY_ENTRY_U32("touchscreen-size-x", 1794),
358 PROPERTY_ENTRY_U32("touchscreen-size-y", 1148),
327 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"), 359 PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
328 PROPERTY_ENTRY_STRING("firmware-name", 360 PROPERTY_ENTRY_STRING("firmware-name",
329 "gsl3692-pov-mobii-wintab-p800w.fw"), 361 "gsl3692-pov-mobii-wintab-p800w.fw"),
362 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
330 PROPERTY_ENTRY_BOOL("silead,home-button"), 363 PROPERTY_ENTRY_BOOL("silead,home-button"),
331 { } 364 { }
332}; 365};
@@ -366,6 +399,22 @@ static const struct ts_dmi_data teclast_x98plus2_data = {
366 .properties = teclast_x98plus2_props, 399 .properties = teclast_x98plus2_props,
367}; 400};
368 401
402static const struct property_entry trekstor_primebook_c11_props[] = {
403 PROPERTY_ENTRY_U32("touchscreen-size-x", 1970),
404 PROPERTY_ENTRY_U32("touchscreen-size-y", 1530),
405 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
406 PROPERTY_ENTRY_STRING("firmware-name",
407 "gsl1680-trekstor-primebook-c11.fw"),
408 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
409 PROPERTY_ENTRY_BOOL("silead,home-button"),
410 { }
411};
412
413static const struct ts_dmi_data trekstor_primebook_c11_data = {
414 .acpi_name = "MSSL1680:00",
415 .properties = trekstor_primebook_c11_props,
416};
417
369static const struct property_entry trekstor_primebook_c13_props[] = { 418static const struct property_entry trekstor_primebook_c13_props[] = {
370 PROPERTY_ENTRY_U32("touchscreen-size-x", 2624), 419 PROPERTY_ENTRY_U32("touchscreen-size-x", 2624),
371 PROPERTY_ENTRY_U32("touchscreen-size-y", 1920), 420 PROPERTY_ENTRY_U32("touchscreen-size-y", 1920),
@@ -381,6 +430,22 @@ static const struct ts_dmi_data trekstor_primebook_c13_data = {
381 .properties = trekstor_primebook_c13_props, 430 .properties = trekstor_primebook_c13_props,
382}; 431};
383 432
433static const struct property_entry trekstor_primetab_t13b_props[] = {
434 PROPERTY_ENTRY_U32("touchscreen-size-x", 2500),
435 PROPERTY_ENTRY_U32("touchscreen-size-y", 1900),
436 PROPERTY_ENTRY_STRING("firmware-name",
437 "gsl1680-trekstor-primetab-t13b.fw"),
438 PROPERTY_ENTRY_U32("silead,max-fingers", 10),
439 PROPERTY_ENTRY_BOOL("silead,home-button"),
440 PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
441 { }
442};
443
444static const struct ts_dmi_data trekstor_primetab_t13b_data = {
445 .acpi_name = "MSSL1680:00",
446 .properties = trekstor_primetab_t13b_props,
447};
448
384static const struct property_entry trekstor_surftab_twin_10_1_props[] = { 449static const struct property_entry trekstor_surftab_twin_10_1_props[] = {
385 PROPERTY_ENTRY_U32("touchscreen-size-x", 1900), 450 PROPERTY_ENTRY_U32("touchscreen-size-x", 1900),
386 PROPERTY_ENTRY_U32("touchscreen-size-y", 1280), 451 PROPERTY_ENTRY_U32("touchscreen-size-y", 1280),
@@ -397,6 +462,8 @@ static const struct ts_dmi_data trekstor_surftab_twin_10_1_data = {
397}; 462};
398 463
399static const struct property_entry trekstor_surftab_wintron70_props[] = { 464static const struct property_entry trekstor_surftab_wintron70_props[] = {
465 PROPERTY_ENTRY_U32("touchscreen-min-x", 12),
466 PROPERTY_ENTRY_U32("touchscreen-min-y", 8),
400 PROPERTY_ENTRY_U32("touchscreen-size-x", 884), 467 PROPERTY_ENTRY_U32("touchscreen-size-x", 884),
401 PROPERTY_ENTRY_U32("touchscreen-size-y", 632), 468 PROPERTY_ENTRY_U32("touchscreen-size-y", 632),
402 PROPERTY_ENTRY_STRING("firmware-name", 469 PROPERTY_ENTRY_STRING("firmware-name",
@@ -556,6 +623,14 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
556 }, 623 },
557 }, 624 },
558 { 625 {
626 /* ONDA V80 plus v3 (P80PSBG9V3A01501) */
627 .driver_data = (void *)&onda_v80_plus_v3_data,
628 .matches = {
629 DMI_EXACT_MATCH(DMI_SYS_VENDOR, "ONDA"),
630 DMI_EXACT_MATCH(DMI_PRODUCT_NAME, "V80 PLUS")
631 },
632 },
633 {
559 /* ONDA V820w DualOS */ 634 /* ONDA V820w DualOS */
560 .driver_data = (void *)&onda_v820w_32g_data, 635 .driver_data = (void *)&onda_v820w_32g_data,
561 .matches = { 636 .matches = {
@@ -641,6 +716,14 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
641 }, 716 },
642 }, 717 },
643 { 718 {
719 /* Trekstor Primebook C11 */
720 .driver_data = (void *)&trekstor_primebook_c11_data,
721 .matches = {
722 DMI_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
723 DMI_MATCH(DMI_PRODUCT_NAME, "Primebook C11"),
724 },
725 },
726 {
644 /* Trekstor Primebook C13 */ 727 /* Trekstor Primebook C13 */
645 .driver_data = (void *)&trekstor_primebook_c13_data, 728 .driver_data = (void *)&trekstor_primebook_c13_data,
646 .matches = { 729 .matches = {
@@ -649,6 +732,14 @@ static const struct dmi_system_id touchscreen_dmi_table[] = {
649 }, 732 },
650 }, 733 },
651 { 734 {
735 /* Trekstor Primetab T13B */
736 .driver_data = (void *)&trekstor_primetab_t13b_data,
737 .matches = {
738 DMI_MATCH(DMI_SYS_VENDOR, "TREKSTOR"),
739 DMI_MATCH(DMI_PRODUCT_NAME, "Primetab T13B"),
740 },
741 },
742 {
652 /* TrekStor SurfTab twin 10.1 ST10432-8 */ 743 /* TrekStor SurfTab twin 10.1 ST10432-8 */
653 .driver_data = (void *)&trekstor_surftab_twin_10_1_data, 744 .driver_data = (void *)&trekstor_surftab_twin_10_1_data,
654 .matches = { 745 .matches = {