All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ferry Toth <ftoth@telfort.nl>
To: linux-i2c@vger.kernel.org
Subject: Re: [PATCH v3 0/4] i2c: designware: add i2c gpio recovery option
Date: Wed, 04 Oct 2017 11:41:38 +0200	[thread overview]
Message-ID: <1507110098.6358.1.camel@telfort.nl> (raw)
In-Reply-To: <1506596114.16112.148.camel@linux.intel.com>



Andy Shevchenko schreef op do 28-09-2017 om 13:55 [+0300]:
> On Thu, 2017-09-28 at 15:37 +0800, Phil Reid wrote:
> > On 30/08/2017 14:17, Phil Reid wrote:
> > > Changes from V1:
> > > - In review Andy suggested change the i2c core to use the gpiod
> > >    I've added a patch that allows the gradual switching of
> > > drivers
> > >    to using gpiod interface. The old interface is preserved so
> > >    that changes can be made incrementally.
> > > - I've update Tim's patch for the designware driver to use the
> > > new
> > >    interface. Tweaked a couple of things to his patch and fixed
> > >    up things Andy id in last review.
> > >    The core changes in p1 don't require the get/set scl/sda
> > > functions.
> > >    Hopefully I've done the right thing with preserving authorship
> > > and
> > >    signoff.
> 
> +Cc: Ferry.
> 
> Ferry, I think you might be interested in this series.
> If so, perhaps Phil can include you in Cc for v4 of it.

Thanks. I am interested in this, though I may be experiencing a
somewhat different issue.

I my case (Intel Edison on Arduino expansion board) there are 4 MUX
attached to the same i2c bus. On warm boot sometimes the first device
is not detected (as shown by i2c-detect). The 2nd - 4th devices are
detected fine.

It would seem that initially the bus is stuck accessing the first
device and recovers after this. But this is probably not the case, as
on successive warm reboots, the same first device remains undetected.

A cold boot fixes this.

To me that looks like the bus is not stuck, but the particular slave is
in the wrong state. 

I have not yet been able to figure out if this patch series only resets
a device when it holds the bus, or if it also resets a device that
doesn't respond or responds with garbled data, but I will look into it.

Up to now I have not found a reliable way to trigger the situation,
other than noting it seems to happen mostly after a kernel or u-boot
reflash. 

> > > 
> > > Changes from V2:
> > > - Rebase on https://git.kernel.org/pub/scm/linux/kernel/git/wsa/l
> > > inu
> > > x.git/
> > >    i2c/for-next
> > >    No intentional changes, but needed to move
> > > i2c_dw_plat_prepare_clk to common
> > >    for the master recovery functions to use. which is included as
> > > two additional
> > >    patches.
> > > 
> > > 
> > > Phil Reid (4):
> > >    i2c: Switch to using gpiod interface for gpio bus recovery
> > >    i2c: designware: move i2c_dw_plat_prepare_clk to common
> > >    i2c: designware: rename i2c_dw_plat_prepare_clk to
> > > i2c_dw_prepare_clk
> > > 
> > > Tim Sander (1):
> > >    i2c: designware: add i2c gpio recovery option
> > > 
> > >   drivers/i2c/busses/i2c-designware-common.c  | 24 ++++++++++--
> > >   drivers/i2c/busses/i2c-designware-core.h    |  2 +
> > >   drivers/i2c/busses/i2c-designware-master.c  | 57
> > > +++++++++++++++++++++++++++++
> > >   drivers/i2c/busses/i2c-designware-platdrv.c | 18 ++-------
> > >   drivers/i2c/i2c-core-base.c                 | 22 +++++++++--
> > >   include/linux/i2c.h                         |  2 +
> > >   6 files changed, 103 insertions(+), 22 deletions(-)
> > > 
> > 
> > Any comments on this series?
> > 
> 
> 

      reply	other threads:[~2017-10-04  9:45 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-30  6:17 [PATCH v3 0/4] i2c: designware: add i2c gpio recovery option Phil Reid
2017-08-30  6:17 ` [PATCH v3 1/4] i2c: Switch to using gpiod interface for gpio bus recovery Phil Reid
2017-09-28 10:44   ` Andy Shevchenko
2017-09-28 10:54     ` Jarkko Nikula
2017-09-28 10:58       ` Andy Shevchenko
2017-09-29  6:59         ` Phil Reid
2017-09-29 11:48           ` Andy Shevchenko
2017-08-30  6:17 ` [PATCH v3 2/4] i2c: designware: move i2c_dw_plat_prepare_clk to common Phil Reid
2017-09-28 13:01   ` Jarkko Nikula
2017-08-30  6:17 ` [PATCH v3 3/4] i2c: designware: rename i2c_dw_plat_prepare_clk to i2c_dw_prepare_clk Phil Reid
2017-09-28 13:01   ` Jarkko Nikula
2017-08-30  6:17 ` [PATCH v3 4/4] i2c: designware: add i2c gpio recovery option Phil Reid
2017-09-28 10:58   ` Andy Shevchenko
2017-09-29  7:00     ` Phil Reid
2017-09-28 13:21   ` Jarkko Nikula
2017-10-06  5:56     ` Phil Reid
2017-09-28  7:37 ` [PATCH v3 0/4] " Phil Reid
2017-09-28  9:55   ` Jarkko Nikula
2017-09-28 10:55   ` Andy Shevchenko
2017-10-04  9:41     ` Ferry Toth [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=1507110098.6358.1.camel@telfort.nl \
    --to=ftoth@telfort.nl \
    --cc=linux-i2c@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.