diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c index 9f5b57a50c549adbf6e898a06cf5ff9a788ff4f1..94c2259e9af26ea1c94f85f89749bd748776f174 100644 --- a/drivers/i2c/busses/i2c-omap.c +++ b/drivers/i2c/busses/i2c-omap.c @@ -344,8 +344,10 @@ static int omap_i2c_reset(struct omap_i2c_dev *dev) /* SYSC register is cleared by the reset; rewrite it */ omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG, sysc); - /* Schedule I2C-bus monitoring on the next transfer */ - dev->bb_valid = 0; + if (dev->rev > OMAP_I2C_REV_ON_3430_3530) { + /* Schedule I2C-bus monitoring on the next transfer */ + dev->bb_valid = 0; + } } return 0; @@ -460,7 +462,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev) dev->scllstate = scll; dev->sclhstate = sclh; - if (dev->rev < OMAP_I2C_OMAP1_REV_2) { + if (dev->rev <= OMAP_I2C_REV_ON_3430_3530) { /* Not implemented */ dev->bb_valid = 1; }