All of lore.kernel.org
 help / color / mirror / Atom feed
From: BOUGH CHEN <haibo.chen@nxp.com>
To: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Cc: "linux-input@vger.kernel.org" <linux-input@vger.kernel.org>,
	dl-linux-imx <linux-imx@nxp.com>
Subject: RE: [PATCH 1/2] input: egalax_ts: switch to i2c interface before wake up
Date: Tue, 10 Mar 2020 07:01:10 +0000	[thread overview]
Message-ID: <VI1PR04MB5040F4A94475098F070DAAB790FF0@VI1PR04MB5040.eurprd04.prod.outlook.com> (raw)
In-Reply-To: <20200310042223.GA192640@dtor-ws>


> -----Original Message-----
> From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
> Sent: 2020年3月10日 12:22
> To: BOUGH CHEN <haibo.chen@nxp.com>
> Cc: linux-input@vger.kernel.org; dl-linux-imx <linux-imx@nxp.com>
> Subject: Re: [PATCH 1/2] input: egalax_ts: switch to i2c interface before
> wake up
> 
> Hi Haibo,
> 
> On Tue, Feb 11, 2020 at 04:41:11PM +0800, haibo.chen@nxp.com wrote:
> > From: Haibo Chen <haibo.chen@nxp.com>
> >
> > For HannStar (HSD100PXN1 Rev: 1-A00C11 F/W:0634) LVDS touch screen,
> it
> > has a special request for the EETI touch controller. The host needs to
> > trigger I2C event to device FW at booting first, and then the FW can
> > switch to I2C interface. Otherwise, the FW can’t  work with I2C
> > interface, and can't generate any interrupt when touch the screen.
> >
> > This patch send an I2C command before the device wake up, make sure
> > the device switch to I2C interface first.
> >
> > Signed-off-by: Haibo Chen <haibo.chen@nxp.com>
> > ---
> >  drivers/input/touchscreen/egalax_ts.c | 14 ++++++++++++++
> >  1 file changed, 14 insertions(+)
> >
> > diff --git a/drivers/input/touchscreen/egalax_ts.c
> > b/drivers/input/touchscreen/egalax_ts.c
> > index 83ac8c128192..5e35ca5edc7b 100644
> > --- a/drivers/input/touchscreen/egalax_ts.c
> > +++ b/drivers/input/touchscreen/egalax_ts.c
> > @@ -183,6 +183,20 @@ static int egalax_ts_probe(struct i2c_client
> *client,
> >  	ts->client = client;
> >  	ts->input_dev = input_dev;
> >
> > +	/* HannStar (HSD100PXN1 Rev: 1-A00C11 F/W:0634) LVDS touch
> > +	 * screen needs to trigger I2C event to device FW at booting
> > +	 * first, and then the FW can switch to I2C interface.
> > +	 * Otherwise, the FW can’t  work with I2C interface. So here
> > +	 * just use the exist function egalax_firmware_version() to
> > +	 * send a I2C command to the device, make sure the device FW
> > +	 * switch to I2C interface.
> > +	 */
> > +	error = egalax_firmware_version(client);
> > +	if (error) {
> > +		dev_err(&client->dev, "Failed to switch to I2C interface\n");
> > +		return error;
> > +	}
> > +
> >  	/* controller may be in sleep, wake it up. */
> >  	error = egalax_wake_up_device(client);
> >  	if (error) {
> 
> I think this should be part of egalax_wake_up_device(), in case where we do
> not have dedicated reset gpio. Also, instead of abusing firmware read, would
> a dummy byte read be enough (i2c_probe_func_quick_read)?

That's reasonable, I will move the change to egalax_wake_up_device(). I will have a try whether a dummy byte read can work.
Really thanks for your suggestion!

Regards,
Haibo Chen
> Thanks.
> 
> --
> Dmitry

      reply	other threads:[~2020-03-10  7:01 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-11  8:41 [PATCH 1/2] input: egalax_ts: switch to i2c interface before wake up haibo.chen
2020-02-11  8:41 ` [PATCH 2/2] input: egalax_ts: free irq resource before request the line as GPIO haibo.chen
2020-03-10  4:26   ` Dmitry Torokhov
2020-03-10  7:15     ` BOUGH CHEN
2020-04-19 18:10       ` Dmitry Torokhov
2020-04-19 21:27         ` Andy Shevchenko
2020-04-28 11:21         ` Linus Walleij
2020-03-10  1:58 ` [PATCH 1/2] input: egalax_ts: switch to i2c interface before wake up BOUGH CHEN
2020-03-10  4:22 ` Dmitry Torokhov
2020-03-10  7:01   ` BOUGH CHEN [this message]

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=VI1PR04MB5040F4A94475098F070DAAB790FF0@VI1PR04MB5040.eurprd04.prod.outlook.com \
    --to=haibo.chen@nxp.com \
    --cc=dmitry.torokhov@gmail.com \
    --cc=linux-imx@nxp.com \
    --cc=linux-input@vger.kernel.org \
    /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.