aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/i2c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/busses/i2c-omap.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index fdba13137daf..7674efb55378 100644
--- a/drivers/i2c/busses/i2c-omap.c
+++ b/drivers/i2c/busses/i2c-omap.c
@@ -168,6 +168,7 @@ enum {
168 168
169/* Errata definitions */ 169/* Errata definitions */
170#define I2C_OMAP_ERRATA_I207 (1 << 0) 170#define I2C_OMAP_ERRATA_I207 (1 << 0)
171#define I2C_OMAP3_1P153 (1 << 1)
171 172
172struct omap_i2c_dev { 173struct omap_i2c_dev {
173 struct device *dev; 174 struct device *dev;
@@ -954,7 +955,7 @@ complete:
954 break; 955 break;
955 } 956 }
956 957
957 if ((dev->rev <= OMAP_I2C_REV_ON_3430) && 958 if ((dev->errata & I2C_OMAP3_1P153) &&
958 errata_omap3_1p153(dev, &stat, &err)) 959 errata_omap3_1p153(dev, &stat, &err))
959 goto complete; 960 goto complete;
960 961
@@ -1057,6 +1058,9 @@ omap_i2c_probe(struct platform_device *pdev)
1057 1058
1058 dev->rev = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) & 0xff; 1059 dev->rev = omap_i2c_read_reg(dev, OMAP_I2C_REV_REG) & 0xff;
1059 1060
1061 if (dev->rev <= OMAP_I2C_REV_ON_3430)
1062 dev->errata |= I2C_OMAP3_1P153;
1063
1060 if (!(cpu_class_is_omap1() || cpu_is_omap2420())) { 1064 if (!(cpu_class_is_omap1() || cpu_is_omap2420())) {
1061 u16 s; 1065 u16 s;
1062 1066