lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:	Mon, 20 Apr 2009 12:36:53 +1000
From:	Ben Nizette <ben@...sdigital.com>
To:	"haavard.skinnemoen" <haavard.skinnemoen@...el.com>
Cc:	kernel <kernel@...32linux.org>,
	"Egtvedt, Hans-Christian" <Hans-Christian.Egtvedt@...el.com>,
	linux-kernel <linux-kernel@...r.kernel.org>
Subject: [PATCH] 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: Ben Nizette <bn@...sdigital.com>

---
 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,
 
 	/* The ads7843 pendown irq is just connected to regular
 	 * gpio and therefore can only trigger interrupts on
-- 
1.6.0.2


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ