* [PATCH] ARM: OMAP2+ i2c NACK without STP [not found] ` <20110614102409.GN3352-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> @ 2011-06-14 10:54 ` Jan Weitzel 2011-12-27 14:48 ` T Krishnamoorthy, Balaji 0 siblings, 1 reply; 3+ messages in thread From: Jan Weitzel @ 2011-06-14 10:54 UTC (permalink / raw) To: linux-omap-u79uwXL29TY76Z2rM5mHXA, b-cousson-l0cyMroinI0, andy.green-QSEj5FYQhm4dnm+yROfE0A, patches-QSEj5FYQhm4dnm+yROfE0A Cc: andy-/Zus8d0mwwtBDgjK7y7TUQ, tony-4v6yS6AI5VpBDgjK7y7TUQ, peter.maydell-QSEj5FYQhm4dnm+yROfE0A, khilman-l0cyMroinI0, ben-linux-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, Jan Weitzel On OMAP4 OMAP_I2C_STAT_NACK is causing a timeout on the next access. The isr cleans all flags in OMAP_I2C_CON_REG by setting OMAP_I2C_CON_STP OMAP_I2C_CON_STP is also set in omap_i2c_xfer_msg on the last message. According to the TI TSR the sequence for OMAP_I2C_STAT_NACK and OMAP_I2C_STAT_AL are nearly the same. Removing the OMAP_I2C_CON_STP part in the isr fix the problem. Tested on OMAP4430 and OMAP3530 (here NACK was not a problem) Fixes also booting on 2430sdp. Signed-off-by: Jan Weitzel <j.weitzel-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org> Acked-by: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> --- drivers/i2c/busses/i2c-omap.c | 6 ++---- 1 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 58a58c7..670f2a2 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -836,11 +836,9 @@ complete: ~(OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR | OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR)); - if (stat & OMAP_I2C_STAT_NACK) { + if (stat & OMAP_I2C_STAT_NACK) err |= OMAP_I2C_STAT_NACK; - omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, - OMAP_I2C_CON_STP); - } + if (stat & OMAP_I2C_STAT_AL) { dev_err(dev->dev, "Arbitration lost\n"); err |= OMAP_I2C_STAT_AL; -- 1.7.0.4 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH] ARM: OMAP2+ i2c NACK without STP 2011-06-14 10:54 ` [PATCH] ARM: OMAP2+ i2c NACK without STP Jan Weitzel @ 2011-12-27 14:48 ` T Krishnamoorthy, Balaji [not found] ` <CANrkHUZ530H+0+YKy2QJPFbwUQ1zqD=OaSrF6ByTbpx6eU421Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> 0 siblings, 1 reply; 3+ messages in thread From: T Krishnamoorthy, Balaji @ 2011-12-27 14:48 UTC (permalink / raw) To: ben-linux, linux-i2c Cc: linux-omap, b-cousson, andy.green, patches, andy, tony, peter.maydell, khilman, Jan Weitzel, Shubhrajyoti Datta On Tue, Jun 14, 2011 at 4:24 PM, Jan Weitzel <j.weitzel@phytec.de> wrote: > On OMAP4 OMAP_I2C_STAT_NACK is causing a timeout on the next access. > The isr cleans all flags in OMAP_I2C_CON_REG by setting OMAP_I2C_CON_STP > OMAP_I2C_CON_STP is also set in omap_i2c_xfer_msg on the last message. > > According to the TI TSR the sequence for OMAP_I2C_STAT_NACK and > OMAP_I2C_STAT_AL are nearly the same. > Removing the OMAP_I2C_CON_STP part in the isr fix the problem. > Tested on OMAP4430 and OMAP3530 (here NACK was not a problem) > Fixes also booting on 2430sdp. > > Signed-off-by: Jan Weitzel <j.weitzel@phytec.de> > Acked-by: Tony Lindgren <tony@atomide.com> Acked-by: Balaji T K <balajitk@ti.com> Can you please queue this patch This patch has been tested in linux-omap tree http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=commit;h=464fca36d98b97ccd05e4f200ab7483d3acc8345 > --- > drivers/i2c/busses/i2c-omap.c | 6 ++---- > 1 files changed, 2 insertions(+), 4 deletions(-) > > diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c > index 58a58c7..670f2a2 100644 > --- a/drivers/i2c/busses/i2c-omap.c > +++ b/drivers/i2c/busses/i2c-omap.c > @@ -836,11 +836,9 @@ complete: > ~(OMAP_I2C_STAT_RRDY | OMAP_I2C_STAT_RDR | > OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR)); > > - if (stat & OMAP_I2C_STAT_NACK) { > + if (stat & OMAP_I2C_STAT_NACK) > err |= OMAP_I2C_STAT_NACK; > - omap_i2c_write_reg(dev, OMAP_I2C_CON_REG, > - OMAP_I2C_CON_STP); > - } > + > if (stat & OMAP_I2C_STAT_AL) { > dev_err(dev->dev, "Arbitration lost\n"); > err |= OMAP_I2C_STAT_AL; > -- > 1.7.0.4 > > -- > To unsubscribe from this list: send the line "unsubscribe linux-omap" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html ^ permalink raw reply [flat|nested] 3+ messages in thread
[parent not found: <CANrkHUZ530H+0+YKy2QJPFbwUQ1zqD=OaSrF6ByTbpx6eU421Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>]
* Re: [PATCH] ARM: OMAP2+ i2c NACK without STP [not found] ` <CANrkHUZ530H+0+YKy2QJPFbwUQ1zqD=OaSrF6ByTbpx6eU421Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org> @ 2012-01-04 0:07 ` Kevin Hilman 0 siblings, 0 replies; 3+ messages in thread From: Kevin Hilman @ 2012-01-04 0:07 UTC (permalink / raw) To: T Krishnamoorthy, Balaji Cc: ben-linux-elnMNo+KYs3YtjvyW6yDsg, linux-i2c-u79uwXL29TY76Z2rM5mHXA, linux-omap-u79uwXL29TY76Z2rM5mHXA, b-cousson-l0cyMroinI0, andy.green-QSEj5FYQhm4dnm+yROfE0A, patches-QSEj5FYQhm4dnm+yROfE0A, andy-/Zus8d0mwwtBDgjK7y7TUQ, tony-4v6yS6AI5VpBDgjK7y7TUQ, peter.maydell-QSEj5FYQhm4dnm+yROfE0A, Jan Weitzel, Shubhrajyoti Datta "T Krishnamoorthy, Balaji" <balajitk-l0cyMroinI0@public.gmane.org> writes: > On Tue, Jun 14, 2011 at 4:24 PM, Jan Weitzel <j.weitzel-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org> wrote: >> On OMAP4 OMAP_I2C_STAT_NACK is causing a timeout on the next access. >> The isr cleans all flags in OMAP_I2C_CON_REG by setting OMAP_I2C_CON_STP >> OMAP_I2C_CON_STP is also set in omap_i2c_xfer_msg on the last message. >> >> According to the TI TSR the sequence for OMAP_I2C_STAT_NACK and >> OMAP_I2C_STAT_AL are nearly the same. >> Removing the OMAP_I2C_CON_STP part in the isr fix the problem. >> Tested on OMAP4430 and OMAP3530 (here NACK was not a problem) >> Fixes also booting on 2430sdp. >> >> Signed-off-by: Jan Weitzel <j.weitzel-guT5V/WYfQezQB+pC5nmwQ@public.gmane.org> >> Acked-by: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> > > Acked-by: Balaji T K <balajitk-l0cyMroinI0@public.gmane.org> > Can you please queue this patch > > This patch has been tested in linux-omap tree > http://git.kernel.org/?p=linux/kernel/git/tmlind/linux-omap.git;a=commit;h=464fca36d98b97ccd05e4f200ab7483d3acc8345 I have this patch in my queue (branch: for_3.3/i2c/misc), but unfortunately, the maintainer has not responded to any of my queries or pull requests for a couple months now. I have sent some more off-list queries recently in hopes to get this moving again. Kevin ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2012-01-04 0:07 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20110614102409.GN3352@atomide.com>
[not found] ` <20110614102409.GN3352-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2011-06-14 10:54 ` [PATCH] ARM: OMAP2+ i2c NACK without STP Jan Weitzel
2011-12-27 14:48 ` T Krishnamoorthy, Balaji
[not found] ` <CANrkHUZ530H+0+YKy2QJPFbwUQ1zqD=OaSrF6ByTbpx6eU421Q-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2012-01-04 0:07 ` Kevin Hilman
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).