Re: [PATCH] favr32: improve touchscreen response
From: Ben Nizette
Date: Fri Jun 26 2009 - 03:50:44 EST
Hi Haavard,
This has hce's ack, any chance of getting it in .31?
Thx,
--Ben.
On Mon, 2009-04-20 at 12:36 +1000, Ben Nizette wrote:
> 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: Ben Nizette <bn@xxxxxxxxxxxxxxx>
>
> ---
> arch/avr32/boards/favr-32/setup.c | 4 ++++
> 1 files changed, 4 insertions(+), 0 deletions(-)
>
> diff --git a/arch/avr32/boards/favr-32/setup.c b/arch/avr32/boards/favr-32/setup.c
> index 58203d1..f1152fa 100644
> --- a/arch/avr32/boards/favr-32/setup.c
> +++ b/arch/avr32/boards/favr-32/setup.c
> @@ -72,6 +72,10 @@ static struct ads7846_platform_data ads7843_data = {
> .debounce_max = 20,
> .debounce_rep = 4,
> .debounce_tol = 5,
> +
> + .keep_vref_on = true,
> + .settle_delay_usecs = 500,
> + .penirq_recheck_delay_usecs = 100,
> };
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/