mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2024-12-29 09:13:38 +00:00
bd3cba00dc
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 18eeef46d3
("HID: i2c-hid: goodix: Tie the reset line
to true state of the regulator").
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Reviewed-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
15 lines
410 B
Makefile
15 lines
410 B
Makefile
# SPDX-License-Identifier: GPL-2.0-only
|
|
#
|
|
# Makefile for the I2C input drivers
|
|
#
|
|
|
|
obj-$(CONFIG_I2C_HID_CORE) += i2c-hid.o
|
|
|
|
i2c-hid-objs = i2c-hid-core.o
|
|
i2c-hid-$(CONFIG_DMI) += i2c-hid-dmi-quirks.o
|
|
|
|
obj-$(CONFIG_I2C_HID_ACPI) += i2c-hid-acpi.o
|
|
obj-$(CONFIG_I2C_HID_OF) += i2c-hid-of.o
|
|
obj-$(CONFIG_I2C_HID_OF_ELAN) += i2c-hid-of-elan.o
|
|
obj-$(CONFIG_I2C_HID_OF_GOODIX) += i2c-hid-of-goodix.o
|