Commit 92c548cd authored by Ben Nizette's avatar Ben Nizette Committed by Haavard Skinnemoen

favr32: improve touchscreen response

The ezLCD+101 board (to which an favr-32 is fitted) has a long,
unshielded, nasty lead between the touch panel and the ads7843 touch
controller.  In order to get satisfactory response then, we need to
employ every noise-reduction trick in the driver's arsenal.  After
extensive fiddling I've found some good settings:

1) We keep vref on all the time to dramatically reduce settling times
(at the cost of a tiny increase in power consumption).

2) Despite 1 the settling time is still non-zero.  500uS is plenty of
time for the signals to settle

3) Despite 1 and 2 there's still a little bit of noise around.  By
setting a pen recheck delay we make the panel feel less touchy and
twitchy.

Someone with more time and patience myself might be able to tune this
numbers further but these settings are now perfectly acceptable for
normal use.

Tested on ezLCD+101 though should only improve response on other ezLCD+/
favr-32 boards too.
Signed-off-by: default avatarBen Nizette <bn@niasdigital.com>
Signed-off-by: default avatarHaavard Skinnemoen <haavard.skinnemoen@atmel.com>
parent 251ab1a3
...@@ -72,6 +72,10 @@ static struct ads7846_platform_data ads7843_data = { ...@@ -72,6 +72,10 @@ static struct ads7846_platform_data ads7843_data = {
.debounce_max = 20, .debounce_max = 20,
.debounce_rep = 4, .debounce_rep = 4,
.debounce_tol = 5, .debounce_tol = 5,
.keep_vref_on = true,
.settle_delay_usecs = 500,
.penirq_recheck_delay_usecs = 100,
}; };
static struct spi_board_info __initdata spi1_board_info[] = { static struct spi_board_info __initdata spi1_board_info[] = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment