Hi Sekhar,

Yes there is an other device on the bus, but I removed it and I decreased
the clock to 20khz. I cannot go below because the i2c seems not to work. It
does solved the problem.

I modified the driver to add a while(1) when it got an abnormal termination.
I notified that every time the driver makes this error, I can see a clock
stretch (with a scope) on the last i2c frame.

- The PMIC (tps65070) is rated to work at 400khz, but even at 20khz it seems
to need more time to response when it is addressed to much. I modified the
touchscreen polling period to 100 msec and I still got errors. Maybe if the
touchscreen driver was working by interruption that would leave a chance to
the PMIC.

- Why the i2c driver do not handles clock stretching?

- On a test there was 2 successive reads to register 02h with a delay of 85
msec between. The first went right but while the next read, the salve put
the clock low to stretch it. It sounds like a problem to me because the chip
was not receiving a lot of messages and it stretched the clock. I cannot
find any place in the datasheet that is talking about that issue.

Thank you.

Regards,

Nicolas



On Mon, Aug 2, 2010 at 12:35 PM, Nori, Sekhar <[email protected]> wrote:

>
> Hi Nicolas,
>
> On Fri, Jul 30, 2010 at 23:05:21, Nicolas Luna wrote:
> > Sekhar,
> >
> > We do not have this buffer on our custom hardware and we have the NACK
> > problem. SDA and SCL are directly connected from PMIC to OMAP with
> > pull-up.
> >
> > Is Todd right with the silicon issue? Or a I2C driver issue when it is
> > used too much... ?
>
> There is no silicon issue that I know of. The silicon meets I2C
> specification.
> All the advisories with silicon are documented here:
> http://focus.ti.com/lit/er/sprz301c/sprz301c.pdf
>
> >       i2c_davinci i2c_davinci.1: controller timed out
> >       i2c_davinci i2c_davinci.1: initiating i2c bus recovery
>
> I remember users on the list reporting these errors when a slave device is
> pulling the clock low for a long time. The first thing to try is a lower
> bus frequency - this is done on DM644x EVM to talk to a slow MSP430 based
> slave.
>
> Also, as I remember, this can even be caused by a slave you are not talking
> to.
> Are there other devices on the I2C bus?
>
> Thanks,
> Sekhar
>
_______________________________________________
Davinci-linux-open-source mailing list
[email protected]
http://linux.davincidsp.com/mailman/listinfo/davinci-linux-open-source

Reply via email to