Commit 06ddd353 authored by Marek Vasut's avatar Marek Vasut Committed by Jonathan Cameron

iio: mxs: Implement support for touchscreen

This patch implements support for sampling of a touchscreen into
the MXS LRADC driver. The LRADC block allows configuring some of
it's channels into special mode where they either output the drive
voltage or sample it, allowing it to operate a 4-wire or 5-wire
resistive touchscreen.

In case the touchscreen mode is enabled, the LRADC slot #7 is
reserved for touchscreen only, therefore it is not possible to
sample 8 LRADC channels at time, but only 7 channels.

The touchscreen controller is configured such that the PENDOWN event
disables touchscreen interrupts and triggers execution of worker
thread, which then polls the touchscreen controller for X, Y and
Pressure values. This reduces the overhead of interrupt-driven
operation. Upon the PENUP event, the worker thread re-enables the
PENDOWN detection interrupt and exits.
Signed-off-by: default avatarMarek Vasut <marex@denx.de>
Acked-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: default avatarJonathan Cameron <jic23@kernel.org>
parent 2b4ff038
...@@ -5,6 +5,12 @@ Required properties: ...@@ -5,6 +5,12 @@ Required properties:
- reg: Address and length of the register set for the device - reg: Address and length of the register set for the device
- interrupts: Should contain the LRADC interrupts - interrupts: Should contain the LRADC interrupts
Optional properties:
- fsl,lradc-touchscreen-wires: Number of wires used to connect the touchscreen
to LRADC. Valid value is either 4 or 5. If this
property is not present, then the touchscreen is
disabled.
Examples: Examples:
lradc@80050000 { lradc@80050000 {
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment