platform/x86: silead_dmi: Add support for the Onda oBook 20 Plus tablet
authorNerijus Baliunas <nerijus@users.sourceforge.net>
Sun, 10 Dec 2017 22:02:13 +0000 (00:02 +0200)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Thu, 21 Dec 2017 12:56:26 +0000 (14:56 +0200)
Add touchscreen platform data for the Onda oBook 20 Plus tablet.

Firmware for this is available here:
https://github.com/onitake/gsl-firmware/blob/master/firmware/linux/silead/gsl3676-onda-obook-20-plus.fw

Signed-off-by: Nerijus Baliƫnas <nerijus@users.sourceforge.net>
Acked-by: Hans de Goede <hdegoede@redhat.com>
[andy: massaged title and wrote commit message]
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/platform/x86/silead_dmi.c

index 9a3da53202cbfa7e77580b9025065eabaa5d5f30..89bd924fb8dcf7268a1027e7150f6847b9f55884 100644 (file)
@@ -186,6 +186,23 @@ static const struct silead_ts_dmi_data digma_citi_e200_data = {
        .properties     = digma_citi_e200_props,
 };
 
+static const struct property_entry onda_obook_20_plus_props[] = {
+       PROPERTY_ENTRY_U32("touchscreen-size-x", 1728),
+       PROPERTY_ENTRY_U32("touchscreen-size-y", 1148),
+       PROPERTY_ENTRY_BOOL("touchscreen-inverted-x"),
+       PROPERTY_ENTRY_BOOL("touchscreen-inverted-y"),
+       PROPERTY_ENTRY_BOOL("touchscreen-swapped-x-y"),
+       PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-onda-obook-20-plus.fw"),
+       PROPERTY_ENTRY_U32("silead,max-fingers", 10),
+       PROPERTY_ENTRY_BOOL("silead,home-button"),
+       { }
+};
+
+static const struct silead_ts_dmi_data onda_obook_20_plus_data = {
+       .acpi_name      = "MSSL1680:00",
+       .properties     = onda_obook_20_plus_props,
+};
+
 static const struct dmi_system_id silead_ts_dmi_table[] = {
        {
                /* CUBE iwork8 Air */
@@ -294,6 +311,14 @@ static const struct dmi_system_id silead_ts_dmi_table[] = {
                        DMI_MATCH(DMI_BOARD_NAME, "Cherry Trail CR"),
                },
        },
+       {
+               /* Onda oBook 20 Plus */
+               .driver_data = (void *)&onda_obook_20_plus_data,
+               .matches = {
+                       DMI_MATCH(DMI_SYS_VENDOR, "ONDA"),
+                       DMI_MATCH(DMI_PRODUCT_NAME, "OBOOK 20 PLUS"),
+               },
+       },
        { },
 };