Re: [PATCH] Enable ADC Filter on UCB1400

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, this is very helpful to me.
 I had jitter about+/- 5 pixels without this patch on Colibri PXA270 module and with jitter about +/- 1 pixel.
 thanks.

Tested-by: Palo Revak <palo@xxxxxxxxxxx>

On Sunday 02 August 2009 12:02:36 Marek Vasut wrote:
> Dne Čt 30. července 2009 19:22:24 Marek Vasut napsal(a):
> > Hi!
> >
> > please consider applying the following patch. I tested it on Palm
> > Tungsten|C (ADCSYNC connected, both disabled and enabled through module
> > parameter) and a friend of mine tested it on Toradex Colibri (ADCSYNC not
> > connected, disabled).
> >
> > Thanks
> 
> Hi!
> 
> any updates on this? Thanks
> >
> > From 65cb92df1aba511fbc44d62fa25d5cf38a687952 Mon Sep 17 00:00:00 2001
> > From: Marek Vasut <marek.vasut@xxxxxxxxx>
> > Date: Thu, 30 Jul 2009 19:03:10 +0200
> > Subject: [PATCH] Enable ADC Filter on UCB1400
> >
> > 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@xxxxxxxxx>
> > ---
> >  drivers/input/touchscreen/ucb1400_ts.c |    6 ++++++
> >  include/linux/ucb1400.h                |    4 ++++
> >  2 files changed, 10 insertions(+), 0 deletions(-)
> >
> > diff --git a/drivers/input/touchscreen/ucb1400_ts.c
> > b/drivers/input/touchscreen/ucb1400_ts.c
> > index b2828a3..df8e5f3 100644
> > --- a/drivers/input/touchscreen/ucb1400_ts.c
> > +++ b/drivers/input/touchscreen/ucb1400_ts.c
> > @@ -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();
> > @@ -382,6 +383,11 @@ 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);
> > diff --git a/include/linux/ucb1400.h b/include/linux/ucb1400.h
> > index 464fb34..e489ff6 100644
> > --- a/include/linux/ucb1400.h
> > +++ b/include/linux/ucb1400.h
> > @@ -74,6 +74,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
> 
> 


--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Media Devel]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Linux Wireless Networking]     [Linux Omap]

  Powered by Linux