• Douglas Anderson's avatar
    HID: i2c-hid: elan: Add support for Elan eKTH6915 i2c-hid touchscreens · bd3cba00
    Douglas Anderson authored
    Like many i2c-hid touchscreen controllers, the Elan eKTH6915 has a
    reset GPIO hooked up to it. According to the datasheet, the way we're
    supposed to turn the touchscreen on is:
    
    1. Turn on the 3.3V supply.
    2. Turn on the IO supply. It's OK if this is hardwired to the 3.3V
       supply, but if it's not then it must be turned on _after_ the 3.3V
       supply.
    3. Wait >= 1 ms.
    4. Deassert the reset GPIO (reset GPIO is active low, so there would
       be a leakage path if this was deasserted _before_ the IO supply).
    5. Wait 300 ms.
    
    Much of the above can be handled by the generic i2c-hid-of driver, but
    the "reset" GPIO is not supported by that driver. Thus we'll do the
    same as we did for Goodix and add a new tiny driver that uses the
    i2c-hid core.
    
    NOTE: support for this new touchscreen could theorically fit into the
    Goodix driver. I've made it a separate driver because the Elan driver
    supports _two_ regulators and it's unclear exactly how that would fit
    in with commit 18eeef46 ("HID: i2c-hid: goodix: Tie the reset line
    to true state of the regulator").
    Signed-off-by: default avatarDouglas Anderson <dianders@chromium.org>
    Reviewed-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
    Reviewed-by: default avatarMatthias Kaehlcke <mka@chromium.org>
    Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
    bd3cba00
i2c-hid-of-elan.c 3.41 KB