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

Reply via email to