Skip to contentSkip to conversation

Add touchscreen platform data for the Onda oBook 20 Plus tablet.

PATCH In review Nerijus Baliunas 4 participants 5 messages Dec 10, 2017 – Dec 18, 2017

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 Add touchscreen platform data for the Onda oBook 20 Plus tablet.

---
 drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
drivers/platform/x86/silead_dmi.c +25 -0
index 266535c2a72f..414293e8c448 100644
@@ -171,6 +171,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 */
@@ -271,6 +288,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"),
+		},
+	},
 	{ },
 };
 
Signature · 1 line
2.14.3
Acked-by on v1 1/1
#1 lore raw

Hi,

Quoted 1 line · Nerijus Baliunas

Looks good to me:

Regards,

Hans

Quoted 48 lines
---
  drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++
  1 file changed, 25 insertions(+)
drivers/platform/x86/silead_dmi.c +25 -0
index 266535c2a72f..414293e8c448 100644
@@ -171,6 +171,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 */
@@ -271,6 +288,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"),
+		},
+	},
  	{ },
  };
 
#3 lore raw
Quoted 4 lines · On Mon, 11 Dec 2017 19:25:40 +0100 Gregor Riepl <[email protected]> wrote:

drivers/platform/x86/silead_dmi.c static const struct silead_ts_dmi_data digma_citi_e200_data = { · line 180

Quoted 1 line
drivers/platform/x86/silead_dmi.c +1 -0
+	PROPERTY_ENTRY_STRING("firmware-name", "gsl3676-onda-obook-20-plus.fw"),

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

BTW, what could be done with these firmware files? Is it possible to include them in linux-firmware?

Regards,
Nerijus

#4 lore raw
In reply to Nerijus Baliunas
Quoted 1 line · Nerijus Baliunas

Applied to my review and testing queue with massaged title and written commit message, thanks. Please, don't forget to do it yourself next time, otherwise it will slow review and promoting.

Quoted 50 lines
---
 drivers/platform/x86/silead_dmi.c | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)
drivers/platform/x86/silead_dmi.c +25 -1
index 266535c2a72f..414293e8c448 100644
@@ -171,6 +171,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 */
@@ -271,6 +288,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"),
+               },
+       },
        { },
 };
 
--

2.14.3

Signature · 2 lines
With Best Regards,
Andy Shevchenko