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