* [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
* 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).