All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ben Gamari <ben@smart-cactus.org>
To: Allen Hung <allen_hung@dell.com>,
	Mario Limonciello <mario_limonciello@dell.com>
Cc: linux-input@vger.kernel.org
Subject: Dell Latitude E7470 touchpad status
Date: Tue, 03 May 2016 15:31:24 +0200	[thread overview]
Message-ID: <87eg9j6zf7.fsf@smart-cactus.org> (raw)

[-- 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 --]

             reply	other threads:[~2016-05-03 13:39 UTC|newest]

Thread overview: 25+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-05-03 13:31 Ben Gamari [this message]
     [not found] ` <23E0F704395E694FA4710C833FA087E50D40B8BF13@TPEX7ADC101.APAC.DELL.COM>
2016-05-17  6:03   ` Dell Latitude E7470 touchpad status 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87eg9j6zf7.fsf@smart-cactus.org \
    --to=ben@smart-cactus.org \
    --cc=allen_hung@dell.com \
    --cc=linux-input@vger.kernel.org \
    --cc=mario_limonciello@dell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.