On 21 March 2013 15:06, Wolfram Sang <w...@the-dreams.de> wrote:
> I applied V11 of the core changes with minor modifications.

Wow!! Thanks.

> I do wonder
> about the hook in the designware driver. You apply the recovery on
> transfer timeout. I think this should go into the timeout of
> i2c_dw_wait_bus_not_busy()?

Hmm.. Rajeev/Shiraz were the guys who tested this code earlier and i am
sure we were failing in this piece of code, which i just fixed and so
i2c_dw_wait_bus_not_busy() didn't fail for us.

Below is a conversation that we had with Uwe some time back on the exact
problem we faced and it was a bit different from the traditional problem.

So, maybe we need bus recovery at both places: i2c_dw_wait_bus_not_busy()
(for the traditional hang) and during transfer (for our case).

--
viresh

> On 7 November 2012 18:53, Uwe Kleine-König
> <u.kleine-koe...@pengutronix.de> wrote:
> > Hello Viresh,
> >
> > in our irc conversation you told that the SDA signal being stuck low
> > happened with an sta529 audio codec. I quickly scanned over its
> > datasheet (Doc ID 13095 Rev 3; March 2012).
> >
> > Some questions that come to my mind regarding your issue:
> >  - What is the situation the stall occurs? How do you reproduce?

I2C data lines are permanently held low by the slave device
(sta529 codec in this case).

There is a fixed way in which we can always reproduce it. The
codec can support different sample rate. As soon as we switch from
one sample rate to another (and accordingly re-configure sta529),
this happens.

> >  - I didn't find a specification of the allowed i2c clock frequency. Do
> >    you have a different document that specifies this? (Or maybe I just
> >    missed it?!) I assume you're using the device in the right range?

sta529 can work in fast mode at 400 KHz without any issues.
--
To unsubscribe from this list: send the line "unsubscribe linux-i2c" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to