hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/platform/x86/touchscreen_dmi.c
....@@ -255,6 +255,23 @@
255255 .properties = connect_tablet9_props,
256256 };
257257
258
+static const struct property_entry csl_panther_tab_hd_props[] = {
259
+ PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
260
+ PROPERTY_ENTRY_U32("touchscreen-min-y", 20),
261
+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1980),
262
+ PROPERTY_ENTRY_U32("touchscreen-size-y", 1526),
263
+ PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
264
+ PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
265
+ PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-csl-panther-tab-hd.fw"),
266
+ PROPERTY_ENTRY_U32("silead,max-fingers", 10),
267
+ { }
268
+};
269
+
270
+static const struct ts_dmi_data csl_panther_tab_hd_data = {
271
+ .acpi_name = "MSSL1680:00",
272
+ .properties = csl_panther_tab_hd_props,
273
+};
274
+
258275 static const struct property_entry cube_iwork8_air_props[] = {
259276 PROPERTY_ENTRY_U32("touchscreen-min-x", 1),
260277 PROPERTY_ENTRY_U32("touchscreen-min-y", 3),
....@@ -310,6 +327,22 @@
310327 .properties = dexp_ursus_7w_props,
311328 };
312329
330
+static const struct property_entry dexp_ursus_kx210i_props[] = {
331
+ PROPERTY_ENTRY_U32("touchscreen-min-x", 5),
332
+ PROPERTY_ENTRY_U32("touchscreen-min-y", 2),
333
+ PROPERTY_ENTRY_U32("touchscreen-size-x", 1720),
334
+ PROPERTY_ENTRY_U32("touchscreen-size-y", 1137),
335
+ PROPERTY_ENTRY_STRING("firmware-name", "gsl1680-dexp-ursus-kx210i.fw"),
336
+ PROPERTY_ENTRY_U32("silead,max-fingers", 10),
337
+ PROPERTY_ENTRY_BOOL("silead,home-button"),
338
+ { }
339
+};
340
+
341
+static const struct ts_dmi_data dexp_ursus_kx210i_data = {
342
+ .acpi_name = "MSSL1680:00",
343
+ .properties = dexp_ursus_kx210i_props,
344
+};
345
+
313346 static const struct property_entry digma_citi_e200_props[] = {
314347 PROPERTY_ENTRY_U32("touchscreen-size-x", 1980),
315348 PROPERTY_ENTRY_U32("touchscreen-size-y", 1500),
....@@ -362,6 +395,11 @@
362395 static const struct ts_dmi_data glavey_tm800a550l_data = {
363396 .acpi_name = "GDIX1001:00",
364397 .properties = glavey_tm800a550l_props,
398
+};
399
+
400
+static const struct ts_dmi_data gdix1002_00_upside_down_data = {
401
+ .acpi_name = "GDIX1002:00",
402
+ .properties = gdix1001_upside_down_props,
365403 };
366404
367405 static const struct property_entry gp_electronic_t701_props[] = {
....@@ -1014,6 +1052,15 @@
10141052 },
10151053 },
10161054 {
1055
+ /* Chuwi Vi8 (CWI501) */
1056
+ .driver_data = (void *)&chuwi_vi8_data,
1057
+ .matches = {
1058
+ DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
1059
+ DMI_MATCH(DMI_PRODUCT_NAME, "i86"),
1060
+ DMI_MATCH(DMI_BIOS_VERSION, "CHUWI.W86JLBNR01"),
1061
+ },
1062
+ },
1063
+ {
10171064 /* Chuwi Vi8 (CWI506) */
10181065 .driver_data = (void *)&chuwi_vi8_data,
10191066 .matches = {
....@@ -1058,6 +1105,14 @@
10581105 },
10591106 },
10601107 {
1108
+ /* CSL Panther Tab HD */
1109
+ .driver_data = (void *)&csl_panther_tab_hd_data,
1110
+ .matches = {
1111
+ DMI_MATCH(DMI_SYS_VENDOR, "CSL Computer GmbH & Co. KG"),
1112
+ DMI_MATCH(DMI_PRODUCT_NAME, "CSL Panther Tab HD"),
1113
+ },
1114
+ },
1115
+ {
10611116 /* CUBE iwork8 Air */
10621117 .driver_data = (void *)&cube_iwork8_air_data,
10631118 .matches = {
....@@ -1082,6 +1137,14 @@
10821137 .matches = {
10831138 DMI_MATCH(DMI_SYS_VENDOR, "Insyde"),
10841139 DMI_MATCH(DMI_PRODUCT_NAME, "7W"),
1140
+ },
1141
+ },
1142
+ {
1143
+ /* DEXP Ursus KX210i */
1144
+ .driver_data = (void *)&dexp_ursus_kx210i_data,
1145
+ .matches = {
1146
+ DMI_MATCH(DMI_SYS_VENDOR, "INSYDE Corp."),
1147
+ DMI_MATCH(DMI_PRODUCT_NAME, "S107I"),
10851148 },
10861149 },
10871150 {
....@@ -1194,6 +1257,18 @@
11941257 },
11951258 },
11961259 {
1260
+ /* Juno Tablet */
1261
+ .driver_data = (void *)&gdix1002_00_upside_down_data,
1262
+ .matches = {
1263
+ DMI_MATCH(DMI_SYS_VENDOR, "Default string"),
1264
+ /* Both product- and board-name being "Default string" is somewhat rare */
1265
+ DMI_MATCH(DMI_PRODUCT_NAME, "Default string"),
1266
+ DMI_MATCH(DMI_BOARD_NAME, "Default string"),
1267
+ /* Above matches are too generic, add partial bios-version match */
1268
+ DMI_MATCH(DMI_BIOS_VERSION, "JP2V1."),
1269
+ },
1270
+ },
1271
+ {
11971272 /* Mediacom WinPad 7.0 W700 (same hw as Wintron surftab 7") */
11981273 .driver_data = (void *)&trekstor_surftab_wintron70_data,
11991274 .matches = {