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