aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorAlexander Kochetkov <al.kochet@gmail.com>2014-11-24 17:20:55 -0500
committerWolfram Sang <wsa@the-dreams.de>2014-11-25 15:31:31 -0500
commit23173eae7b9a5389d3f7031b77cde34f63b814a2 (patch)
treeb616512c741f98b3476676bbe96aab07b5ef95ce /drivers
parenta7750c3ef0122383901ae48396188aa4b861d32b (diff)
omap: i2c: don't check bus state IP rev3.3 and earlier
Commit 0f5768bf894f ("i2c: omap: implement workaround for handling invalid BB-bit values") introduce the error result in boot test fault on OMAP3530 boards. The patch fix the error (disable i2c bus test for OMAP3530). Reported-by: Kevin Hilman <khilman@kernel.org> Signed-off-by: Alexander Kochetkov <al.kochet@gmail.com> Fixes: 0f5768bf894f ("i2c: omap: implement workaround for handling invalid BB-bit values") Tested-by: Tony Lindgren <tony@atomide.com> Tested-by: Kevin Hilman <khilman@linaro.org> Signed-off-by: Wolfram Sang <wsa@the-dreams.de>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/i2c/busses/i2c-omap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/drivers/i2c/busses/i2c-omap.c b/drivers/i2c/busses/i2c-omap.c
index 9f5b57a50c54..94c2259e9af2 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)
344 /* SYSC register is cleared by the reset; rewrite it */ 344 /* SYSC register is cleared by the reset; rewrite it */
345 omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG, sysc); 345 omap_i2c_write_reg(dev, OMAP_I2C_SYSC_REG, sysc);
346 346
347 /* Schedule I2C-bus monitoring on the next transfer */ 347 if (dev->rev > OMAP_I2C_REV_ON_3430_3530) {
348 dev->bb_valid = 0; 348 /* Schedule I2C-bus monitoring on the next transfer */
349 dev->bb_valid = 0;
350 }
349 } 351 }
350 352
351 return 0; 353 return 0;
@@ -460,7 +462,7 @@ static int omap_i2c_init(struct omap_i2c_dev *dev)
460 dev->scllstate = scll; 462 dev->scllstate = scll;
461 dev->sclhstate = sclh; 463 dev->sclhstate = sclh;
462 464
463 if (dev->rev < OMAP_I2C_OMAP1_REV_2) { 465 if (dev->rev <= OMAP_I2C_REV_ON_3430_3530) {
464 /* Not implemented */ 466 /* Not implemented */
465 dev->bb_valid = 1; 467 dev->bb_valid = 1;
466 } 468 }