All of lore.kernel.org
 help / color / mirror / Atom feed
From: Michael Welling <mwelling@ieee.org>
To: Vignesh R <vigneshr@ti.com>
Cc: Michael Welling <mwelling@ieee.org>,
	Wolfram Sang <wsa@the-dreams.de>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-input@vger.kernel.org, Jonathan Cameron <jic23@kernel.org>,
	Brad Griffis <bgriffis@ti.com>
Subject: Re: [PATCH] input: ti_am335x_tsc: Add open delay parameter
Date: Wed, 12 Aug 2015 13:44:22 -0500	[thread overview]
Message-ID: <20150812184420.GA2442@deathstar> (raw)
In-Reply-To: <55CAE71C.4060505@ti.com>

On Wed, Aug 12, 2015 at 11:56:36AM +0530, Vignesh R wrote:
> Hi Michael,
> 
> + Dmitry
> 
> On 08/12/2015 12:15 AM, Michael Welling wrote:
> > Adds a device tree parameter to set the open delay on the touchscreen
> > conversion steps. Increasing this parameter helps the touch accuracy on
> > some screens.
> > 
> > Signed-off-by: Michael Welling <mwelling@ieee.org>
> > ---
> >  .../bindings/input/touchscreen/ti-tsc-adc.txt          |  5 +++++
> >  drivers/input/touchscreen/ti_am335x_tsc.c              | 18 ++++++++++++++----
> >  2 files changed, 19 insertions(+), 4 deletions(-)
> > 
> > diff --git a/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt b/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
> > index b1163bf..cb11fda 100644
> > --- a/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
> > +++ b/Documentation/devicetree/bindings/input/touchscreen/ti-tsc-adc.txt
> > @@ -41,6 +41,11 @@ Optional properties:
> >  			 charge step, so this does in fact function as a
> >  			 hardware knob for adjusting the amount of "settling
> >  			 time".
> > +	ti,open-delay: Open delay applied to all touchscreen conversion steps.
> > +			The value corresponds to the number of ADC clock
> > +			cycles to wait after applying the step configuration
> > +			registers and before sending the start of ADC
> > +			conversion. Maximum value is 0x3FFFF.
> >  
> 
> Since open-delay is per step, is it not better to allow specifying
> open-delay per step like ti,chan-step-opendelay of adc? This will help
> control open-delay for all the four wires.

Do you see any reason why you would want a different delay for each step of
the conversion on the same touchscreen?

The user would need to know the number of steps what each of the steps do.

> 
> >  - child "adc"
> >  	ti,chan-step-opendelay: List of open delays for each channel of
> > diff --git a/drivers/input/touchscreen/ti_am335x_tsc.c b/drivers/input/touchscreen/ti_am335x_tsc.c
> > index 191a1b8..37a9729 100644
> > --- a/drivers/input/touchscreen/ti_am335x_tsc.c
> > +++ b/drivers/input/touchscreen/ti_am335x_tsc.c
> > @@ -54,6 +54,7 @@ struct titsc {
> >  	u32			inp_xp, inp_xn, inp_yp, inp_yn;
> >  	u32			step_mask;
> >  	u32			charge_delay;
> > +	u32			open_delay;
> >  };
> >  
> >  static unsigned int titsc_readl(struct titsc *ts, unsigned int reg)
> > @@ -148,7 +149,7 @@ static void titsc_step_config(struct titsc *ts_dev)
> >  	end_step = first_step + tsc_steps;
> >  	for (i = end_step - ts_dev->coordinate_readouts; i < end_step; i++) {
> >  		titsc_writel(ts_dev, REG_STEPCONFIG(i), config);
> > -		titsc_writel(ts_dev, REG_STEPDELAY(i), STEPCONFIG_OPENDLY);
> > +		titsc_writel(ts_dev, REG_STEPDELAY(i), ts_dev->open_delay);
> >  	}
> >  
> >  	config = 0;
> > @@ -172,7 +173,7 @@ static void titsc_step_config(struct titsc *ts_dev)
> >  	end_step = first_step + ts_dev->coordinate_readouts;
> >  	for (i = first_step; i < end_step; i++) {
> >  		titsc_writel(ts_dev, REG_STEPCONFIG(i), config);
> > -		titsc_writel(ts_dev, REG_STEPDELAY(i), STEPCONFIG_OPENDLY);
> > +		titsc_writel(ts_dev, REG_STEPDELAY(i), ts_dev->open_delay);
> >  	}
> >  
> >  	/* Make CHARGECONFIG same as IDLECONFIG */
> > @@ -188,13 +189,13 @@ static void titsc_step_config(struct titsc *ts_dev)
> >  			STEPCONFIG_INP(ts_dev->inp_xp);
> >  	titsc_writel(ts_dev, REG_STEPCONFIG(end_step), config);
> >  	titsc_writel(ts_dev, REG_STEPDELAY(end_step),
> > -			STEPCONFIG_OPENDLY);
> > +			ts_dev->open_delay);
> >  
> >  	end_step++;
> >  	config |= STEPCONFIG_INP(ts_dev->inp_yn);
> >  	titsc_writel(ts_dev, REG_STEPCONFIG(end_step), config);
> >  	titsc_writel(ts_dev, REG_STEPDELAY(end_step),
> > -			STEPCONFIG_OPENDLY);
> > +			ts_dev->open_delay);
> >  
> >  	/* The steps end ... end - readouts * 2 + 2 and bit 0 for TS_Charge */
> >  	stepenable = 1;
> > @@ -392,6 +393,15 @@ static int titsc_parse_dt(struct platform_device *pdev,
> >  		dev_warn(&pdev->dev, "ti,charge-delay not specified\n");
> >  	}
> >  
> > +	err = of_property_read_u32(node, "ti,open-delay",
> > +				   &ts_dev->open_delay);
> > +	/*
> > +	 * If ti,open-delay value is not specified, then use
> > +	 * STEPCONFIG_OPENDLY as the default value.
> > +	 */
> > +	if (err < 0)
> > +		ts_dev->open_delay = STEPCONFIG_OPENDLY;
> > +
> >  	return of_property_read_u32_array(node, "ti,wire-config",
> >  			ts_dev->config_inp, ARRAY_SIZE(ts_dev->config_inp));
> >  }
> > 
> 
> -- 
> Regards
> Vignesh

  reply	other threads:[~2015-08-12 18:44 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-08-11 18:45 [PATCH] input: ti_am335x_tsc: Add open delay parameter Michael Welling
2015-08-12  6:26 ` Vignesh R
2015-08-12  6:26   ` Vignesh R
2015-08-12 18:44   ` Michael Welling [this message]
2015-08-19 18:08     ` Michael Welling
2015-08-20 12:11       ` Vignesh R
2015-08-20 22:17         ` Michael Welling
2015-08-21 12:11           ` Vignesh R

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20150812184420.GA2442@deathstar \
    --to=mwelling@ieee.org \
    --cc=bgriffis@ti.com \
    --cc=devicetree@vger.kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=jic23@kernel.org \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=vigneshr@ti.com \
    --cc=wsa@the-dreams.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.