diff options
Diffstat (limited to 'drivers/platform/x86/touchscreen_dmi.c')
-rw-r--r-- | drivers/platform/x86/touchscreen_dmi.c | 107 |
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 | ||
44 | static const struct property_entry chuwi_hi8_pro_props[] = { | 44 | static 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 | ||
58 | static const struct property_entry chuwi_vi8_props[] = { | 61 | static 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 | ||
89 | static const struct property_entry connect_tablet9_props[] = { | 94 | static 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 | ||
106 | static const struct property_entry cube_iwork8_air_props[] = { | 111 | static 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 | ||
181 | static const struct property_entry itworks_tw891_props[] = { | 188 | static 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 | ||
209 | static const struct property_entry jumper_ezpad_mini3_props[] = { | 219 | static 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 | ||
252 | static 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 | |||
265 | static const struct ts_dmi_data onda_v80_plus_v3_data = { | ||
266 | .acpi_name = "MSSL1680:00", | ||
267 | .properties = onda_v80_plus_v3_props, | ||
268 | }; | ||
269 | |||
240 | static const struct property_entry onda_v820w_32g_props[] = { | 270 | static 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 | ||
324 | static const struct property_entry pov_mobii_wintab_p800w_v21_props[] = { | 354 | static 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 | ||
402 | static 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 | |||
413 | static const struct ts_dmi_data trekstor_primebook_c11_data = { | ||
414 | .acpi_name = "MSSL1680:00", | ||
415 | .properties = trekstor_primebook_c11_props, | ||
416 | }; | ||
417 | |||
369 | static const struct property_entry trekstor_primebook_c13_props[] = { | 418 | static 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 | ||
433 | static 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 | |||
444 | static const struct ts_dmi_data trekstor_primetab_t13b_data = { | ||
445 | .acpi_name = "MSSL1680:00", | ||
446 | .properties = trekstor_primetab_t13b_props, | ||
447 | }; | ||
448 | |||
384 | static const struct property_entry trekstor_surftab_twin_10_1_props[] = { | 449 | static 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 | ||
399 | static const struct property_entry trekstor_surftab_wintron70_props[] = { | 464 | static 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 = { |