README on the ADC/Touchscreen Controller
========================================

The LH79524 and LH7A404 include a built-in Analog to Digital
controller (ADC) that is used to process input from a touchscreen.
The driver only implements a four-wire touch panel protocol.

The touchscreen driver is maintenance free except for the pen-down or
touch threshold.  Some resistive displays and board combinations may
require tuning of this threshold.  The driver exposes some of it's
internal state in the sys filesystem.  If the kernel is configured
with it, CONFIG_SYSFS, and sysfs is mounted at /sys, there will be a
directory

  /sys/devices/platform/adc-lh7.0

containing these files.

  -r--r--r--    1 root     root         4096 Jan  1 00:00 samples
  -rw-r--r--    1 root     root         4096 Jan  1 00:00 threshold
  -r--r--r--    1 root     root         4096 Jan  1 00:00 threshold_range

The threshold is the current touch threshold.  It defaults to 750 on
most targets.

  # cat threshold
 750

The threshold_range contains the range of valid values for the
threshold.  Values outside of this range will be silently ignored.

  # cat threshold_range
  0 1023

To change the threshold, write a value to the threshold file.

  # echo 500 > threshold
  # cat threshold
  500

The samples file contains the most recently sampled values from the
ADC.  There are 12.  Below are typical of the last sampled values when
the pen has been released.  The first two and last two samples are for
detecting whether or not the pen is down.  The third through sixth are
X coordinate samples.  The seventh through tenth are Y coordinate
samples.

  # cat samples
  1023 1023 0 0 0 0 530 529 530 529 1023 1023

To determine a reasonable threshold, press on the touch panel with an
appropriate stylus and read the values from samples.

  # cat samples
  1023 676 92 103 101 102 855 919 922 922 1023 679

The first and eleventh samples are discarded.  Thus, the important
values are the second and twelfth which are used to determine if the
pen is down.  When both are below the threshold, the driver registers
that the pen is down.  When either is above the threshold, it
registers then pen is up.
