linux-input.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Dell Latitude E7470 touchpad status
@ 2016-05-03 13:31 Ben Gamari
       [not found] ` <23E0F704395E694FA4710C833FA087E50D40B8BF13@TPEX7ADC101.APAC.DELL.COM>
  0 siblings, 1 reply; 25+ messages in thread
From: Ben Gamari @ 2016-05-03 13:31 UTC (permalink / raw)
  To: Allen Hung, Mario Limonciello; +Cc: linux-input

[-- Attachment #1: Type: text/plain, Size: 2637 bytes --]

Hello Dell kernel people,

I recently started using a Latitude E7470 (with BIOS version 1.4.2) as
my primary machine and have found that the touchpad seems to come up as
a standard emulated PS/2 device.

    input: ImPS/2 BYD TouchPad as /devices/platform/i8042/serio1/input/input6

Sadly simply blacklisting psmouse doesn't resolve this. I found this
rather surprising for this to be the case with such modern hardware and
have grown used to having a functional touchpad so I started to do some
digging.

I started by dumping the machine's DSDT [1] to find that the touchpad's
I2C interface appears to be conditional [2] on some embedded controller
state exposed to the system via the SDS0 field of the GNVS OpRegion
(which appears to be 0 on my system).

I have verified the values of OSYS (which is 0x07df on my machine) and
SDM0 (which is 0x1), so SDS0 seems as though the only remaining barrier
to having the i2c-hid touchpad properly exposed in the ACPI tables is
SDS0.

So, does anyone know what might influence the value of SDS0 provided by
the EC? Any help would be greatly appreciated.

Cheers,

- Ben



[1] https://github.com/bgamari/dell-e7470-dsdt

[2] _INI method for the TPD0:

    Method (_INI, 0, NotSerialized)  // _INI: Initialize
    {
        // Verify that we have at least Windows 2012
        If ((OSYS < 0x07DC))    // OSYS == 0x07df on my machine
        {
            SRXO (GPDI, One)
        }

        // GPIO number and interrupt number of GPDI pin?
        INT1 = GNUM (GPDI)
        INT2 = INUM (GPDI)

        If ((SDM0 == Zero))     // SDM0 == 1 on my machine
        {
            SHPO (GPDI, One)
        }

        If ((SDS0 == One))      // SDS0 == 0 on my machine
        {
            _HID = "SYNA2393"   // I guess this is some Synaptics touchpad?
            HID2 = 0x20
            Return (Zero)
        }

        If ((SDS0 == 0x02))
        {
            _HID = "06CB2846"   // Some other vendor's touchpad?
            HID2 = 0x20
            Return (Zero)
        }

        If ((SDS0 == 0x05))
        {
            _HID = "CUST0001"   // ???
            HID2 = TPDH /* \TPDH */
            BADR = TPDB /* \TPDB */
            If ((TPDS == Zero))
            {
                SPED = 0x000186A0
            }

            If ((TPDS == One))
            {
                SPED = 0x00061A80
            }

            If ((TPDS == 0x02))
            {
                SPED = 0x000F4240
            }

            Return (Zero)
        }
        // DSDT bug: Seems like this really ought to return a value since
        // otherwise the specification defines the behavior is undefined
    }

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 472 bytes --]

^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2016-05-26 12:35 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-05-03 13:31 Dell Latitude E7470 touchpad status Ben Gamari
     [not found] ` <23E0F704395E694FA4710C833FA087E50D40B8BF13@TPEX7ADC101.APAC.DELL.COM>
2016-05-17  6:03   ` Ben Gamari
2016-05-17  8:23     ` Pali Rohár
2016-05-17  9:50       ` Ben Gamari
2016-05-17 13:16         ` Pali Rohár
2016-05-17 14:46           ` Allen_Hung
2016-05-17 15:22             ` Pali Rohár
2016-05-25  4:38               ` Allen_Hung
2016-05-25  7:39                 ` Pali Rohár
2016-05-25 12:09                   ` Ben Gamari
2016-05-25 14:45                     ` Pali Rohár
2016-05-25 15:19                       ` Hans de Goede
2016-05-25 15:32                         ` Pali Rohár
2016-05-25 12:32                   ` Ben Gamari
2016-05-25 15:43                     ` Pali Rohár
2016-05-25 15:47                       ` Hans de Goede
2016-05-25 15:53                       ` Ben Gamari
2016-05-25 16:01                         ` Packet format for ALPS V8 trackstick (Was: Re: Dell Latitude E7470 touchpad status) Pali Rohár
2016-05-26  8:55                           ` [PATCH] Alps SS4 V2 support for Dell Latitude 7470 Ben Gamari
2016-05-26  8:55                             ` [PATCH 1/3] input/alps: Split up ALPS_BUTTONPAD behavior change Ben Gamari
2016-05-26  8:55                             ` [PATCH 2/3] input/alps: Add touchstick support for V8 protocol devices Ben Gamari
2016-05-26  8:55                             ` [PATCH 3/3] input/alps: Add device description for Dell Latitude E7470 Ben Gamari
2016-05-26  9:05                               ` Pali Rohár
2016-05-26 12:19                                 ` Hans de Goede
2016-05-26 12:35                                   ` Pali Rohár

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).