mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 12:39:23 +00:00 
			
		
		
		
	 51cb21a9cd
			
		
	
	
		51cb21a9cd
		
	
	
	
	
		
			
			Patch from Marc Singer New documentation for the touchscreen controllers and LCD panels. Signed-off-by: Marc Singer <elf@buici.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
		
			
				
	
	
		
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			2.1 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| 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.
 |