| 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 its | 
 | 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. |