Skip to content

Commit

Permalink
Input: ucb1400_ts - enable ADC Filter
Browse files Browse the repository at this point in the history
This patch enables ADC filtering on UCB1400 codec by default. The
benefit from this change is mostly on some Colibri boards where
the ADCSYNC pin of the UCB1400 codec isn't connected causing the
touchscreen to jitter very badly. This change has no visible
effect on boards where the ADCSYNC pin is connected.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Tested-by: Palo Revak <palo@bielyvlk.sk>
Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
  • Loading branch information
Marek Vasut authored and Dmitry Torokhov committed Aug 21, 2009
1 parent 3b7307c commit 1700f5f
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 0 deletions.
9 changes: 9 additions & 0 deletions drivers/input/touchscreen/ucb1400_ts.c
Original file line number Diff line number Diff line change
Expand Up @@ -345,6 +345,7 @@ static int ucb1400_ts_detect_irq(struct ucb1400_ts *ucb)
static int ucb1400_ts_probe(struct platform_device *dev)
{
int error, x_res, y_res;
u16 fcsr;
struct ucb1400_ts *ucb = dev->dev.platform_data;

ucb->ts_idev = input_allocate_device();
Expand Down Expand Up @@ -382,6 +383,14 @@ static int ucb1400_ts_probe(struct platform_device *dev)
ucb->ts_idev->evbit[0] = BIT_MASK(EV_ABS) | BIT_MASK(EV_KEY);
ucb->ts_idev->keybit[BIT_WORD(BTN_TOUCH)] = BIT_MASK(BTN_TOUCH);

/*
* Enable ADC filter to prevent horrible jitter on Colibri.
* This also further reduces jitter on boards where ADCSYNC
* pin is connected.
*/
fcsr = ucb1400_reg_read(ucb->ac97, UCB_FCSR);
ucb1400_reg_write(ucb->ac97, UCB_FCSR, fcsr | UCB_FCSR_AVE);

ucb1400_adc_enable(ucb->ac97);
x_res = ucb1400_ts_read_xres(ucb);
y_res = ucb1400_ts_read_yres(ucb);
Expand Down
4 changes: 4 additions & 0 deletions include/linux/ucb1400.h
Original file line number Diff line number Diff line change
Expand Up @@ -73,6 +73,10 @@

#define UCB_ADC_DATA 0x68
#define UCB_ADC_DAT_VALID (1 << 15)

#define UCB_FCSR 0x6c
#define UCB_FCSR_AVE (1 << 12)

#define UCB_ADC_DAT_MASK 0x3ff

#define UCB_ID 0x7e
Expand Down

0 comments on commit 1700f5f

Please sign in to comment.