On Mon, 17 Jan 2011, Santosh Shilimkar wrote:
> The I2C timeout issue I could reproduce on my ES1.0 board. It's ES1.0
> specific issue because I2C burst mode wasn't fuctional on it. Twl RTC
> driver uses I2C burst mode and hence it times out. Other TWL I2C
> module has no such issue.
> The pull work-around we tried was not reliable hence it was dropped.
>
> In short the TWL RTC driver won't function on ES1.0. Apart from that
> rest of the I2C clients should work as usual.
Looks like the IRQ handling code uses it too:
$ egrep -r 'twl_i2c_(write|read)\(' drivers/ | egrep -v twl-core | egrep -v 4030
drivers/mfd/twl6030-irq.c: ret = twl_i2c_read(TWL_MODULE_PIH,
sts.bytes,
drivers/mfd/twl6030-irq.c: ret = twl_i2c_write(TWL_MODULE_PIH,
sts.bytes,
drivers/mfd/twl6030-irq.c: ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
drivers/mfd/twl6030-irq.c: ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
drivers/mfd/twl6030-irq.c: ret = twl_i2c_write(TWL_MODULE_PIH, &mask[0],
drivers/rtc/rtc-twl.c: ret = twl_i2c_read(TWL_MODULE_RTC, rtc_data,
drivers/rtc/rtc-twl.c: ret = twl_i2c_write(TWL_MODULE_RTC, rtc_data,
drivers/rtc/rtc-twl.c: ret = twl_i2c_read(TWL_MODULE_RTC, rtc_data,
drivers/rtc/rtc-twl.c: ret = twl_i2c_write(TWL_MODULE_RTC, alarm_data,
$
I'd assume this also would affect other, non-TWL, I2C endpoints, no?
Sounds like a platform_data flag should be passed into the I2C driver code
to indicate that burst transactions are buggy on OMAP4430ES1.
- Paul
--
To unsubscribe from this list: send the line "unsubscribe linux-omap" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html