lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.10 175/593] platform/x86: touchscreen_dmi: Add info for the Goodix GT912 panel of TM800A550L tablets
    Date
    From: Hans de Goede <hdegoede@redhat.com>

    [ Upstream commit fcd8cf0e3e48f4c66af82c8e799c37cb0cccffe0 ]

    The Bay Trail Glavey TM800A550L tablet, which ships with Android installed
    from the factory, uses a GT912 touchscreen controller which needs to have
    its firmware uploaded by the OS to work (this is a first for a x86 based
    device with a Goodix touchscreen controller).

    Add a touchscreen_dmi entry for this which specifies the filenames
    to use for the firmware and config files needed for this.

    Note this matches on a GDIX1001 ACPI HID, while the original DSDT uses
    a HID of GODX0911. For the touchscreen to work on these devices a DSDT
    override is necessary to fix a missing IRQ and broken GPIO settings in
    the ACPI-resources for the touchscreen. This override also changes the
    HID to the standard GDIX1001 id typically used for Goodix touchscreens.
    The DSDT override is available here:
    https://fedorapeople.org/~jwrdegoede/glavey-tm800a550l-dsdt-override/

    Reviewed-by: Bastien Nocera <hadess@hadess.net>
    Signed-off-by: Hans de Goede <hdegoede@redhat.com>
    Link: https://lore.kernel.org/r/20210504185746.175461-5-hdegoede@redhat.com
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/platform/x86/touchscreen_dmi.c | 21 +++++++++++++++++++++
    1 file changed, 21 insertions(+)

    diff --git a/drivers/platform/x86/touchscreen_dmi.c b/drivers/platform/x86/touchscreen_dmi.c
    index ebae21b78327..99260915122c 100644
    --- a/drivers/platform/x86/touchscreen_dmi.c
    +++ b/drivers/platform/x86/touchscreen_dmi.c
    @@ -316,6 +316,18 @@ static const struct ts_dmi_data gdix1001_01_upside_down_data = {
    .properties = gdix1001_upside_down_props,
    };

    +static const struct property_entry glavey_tm800a550l_props[] = {
    + PROPERTY_ENTRY_STRING("firmware-name", "gt912-glavey-tm800a550l.fw"),
    + PROPERTY_ENTRY_STRING("goodix,config-name", "gt912-glavey-tm800a550l.cfg"),
    + PROPERTY_ENTRY_U32("goodix,main-clk", 54),
    + { }
    +};
    +
    +static const struct ts_dmi_data glavey_tm800a550l_data = {
    + .acpi_name = "GDIX1001:00",
    + .properties = glavey_tm800a550l_props,
    +};
    +
    static const struct property_entry gp_electronic_t701_props[] = {
    PROPERTY_ENTRY_U32("touchscreen-size-x", 960),
    PROPERTY_ENTRY_U32("touchscreen-size-y", 640),
    @@ -1012,6 +1024,15 @@ const struct dmi_system_id touchscreen_dmi_table[] = {
    DMI_MATCH(DMI_PRODUCT_NAME, "eSTAR BEAUTY HD Intel Quad core"),
    },
    },
    + { /* Glavey TM800A550L */
    + .driver_data = (void *)&glavey_tm800a550l_data,
    + .matches = {
    + DMI_MATCH(DMI_BOARD_VENDOR, "AMI Corporation"),
    + DMI_MATCH(DMI_BOARD_NAME, "Aptio CRB"),
    + /* Above strings are too generic, also match on BIOS version */
    + DMI_MATCH(DMI_BIOS_VERSION, "ZY-8-BI-PX4S70VTR400-X423B-005-D"),
    + },
    + },
    {
    /* GP-electronic T701 */
    .driver_data = (void *)&gp_electronic_t701_data,
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 08:51    [W:5.039 / U:0.900 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site