i2c-omap: Enable workaround for Errata 1.153 based on
authorMoiz Sonasath <m-sonasath@ti.com>
Thu, 20 Aug 2009 16:21:16 +0000 (11:21 -0500)
committerBen Dooks <ben-linux@fluff.org>
Thu, 20 Aug 2009 21:27:58 +0000 (22:27 +0100)
Silicon Errata 1.153 has been fixed on OMAP 3630|4430 with the use of a later
version of I2C IP block.

The errata impacts OMAP 2420|2430|3430, enable the workaround for these based
on I2C IP block revision number instead of OMAP CPU type

Signed-off-by: Moiz Sonasath <m-sonasath@ti.com>
Signed-off-by: Vikram Pandita <vikram.pandita@ti.com
Reviewed-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Ben Dooks <ben-linux@fluff.org>
drivers/i2c/busses/i2c-omap.c

index 16b39f4..827da08 100644 (file)
@@ -784,7 +784,7 @@ complete:
                                 * memory to the I2C interface.
                                 */
 
-                               if (cpu_is_omap34xx()) {
+                               if (dev->rev <= OMAP_I2C_REV_ON_3430) {
                                                while (!(stat & OMAP_I2C_STAT_XUDF)) {
                                                        if (stat & (OMAP_I2C_STAT_NACK | OMAP_I2C_STAT_AL)) {
                                                                omap_i2c_ack_stat(dev, stat & (OMAP_I2C_STAT_XRDY | OMAP_I2C_STAT_XDR));