[PATCH v4 0/3] Support wakeup methods of Atmel maXTouch controllers

Dmitry Osipenko
2021-01-22T21:58:46Z

Some Atmel maXTouch controllers, like mXT1386 and mXT3432S1 for example,
have a WAKE line that needs to be asserted in order to wake controller
from a deep sleep, otherwise it will be unusable. This series implements
support for the wakeup methods in accordance to the mXT1386 datasheet [1],
see page 29 (chapter "5.8 WAKE Line").

The mXT1386 is a widely used controller found on many older Android tablet
devices. Touchscreen on Acer A500 tablet now works properly after this
series.

This patchset is a continuation of the work originally started by
Jiada Wang [2].

[1] https://ww1.microchip.com/downloads/en/DeviceDoc/mXT1386_1vx_Datasheet_LX.pdf
[2] https://patchwork.kernel.org/project/linux-input/list/?series=357875

Changelog:

v4: - Improved commit message of the DT binding patch. No code changes.

v3: - Added "default: 0" to the atmel,wakeup-method property in the binding.

- Added r-b from Linus Walleij to the binding patch.

- The wake-GPIO is now toggled on touchscreen's start/stop in order to
allow it to sleep during suspend. Suggested by Linus Walleij.

v2: - Fixed copy-paste bug in the code.

Dmitry Osipenko (3):
dt-bindings: input: atmel_mxt_ts: Document atmel,wakeup-method and
WAKE line GPIO
Input: atmel_mxt_ts - support wakeup methods
ARM: tegra: acer-a500: Add atmel,wakeup-method property

.../bindings/input/atmel,maxtouch.yaml | 29 +++++++
.../boot/dts/tegra20-acer-a500-picasso.dts | 3 +
drivers/input/touchscreen/atmel_mxt_ts.c | 78 +++++++++++++++++++
include/dt-bindings/input/atmel-maxtouch.h | 10 +++
4 files changed, 120 insertions(+)
create mode 100644 include/dt-bindings/input/atmel-maxtouch.h

--
2.29.2