summaryrefslogtreecommitdiffstats
path: root/drivers/i2c/busses/i2c-omap.c
diff options
context:
space:
mode:
authorAlexander Kochetkov <al.kochet@gmail.com>2014-11-25 02:20:55 +0400
committerWolfram Sang <wsa@the-dreams.de>2014-11-25 21:31:31 +0100
commit23173eae7b9a5389d3f7031b77cde34f63b814a2 (patch)
treeb616512c741f98b3476676bbe96aab07b5ef95ce /drivers/i2c/busses/i2c-omap.c
parenta7750c3ef0122383901ae48396188aa4b861d32b (diff)
downloadlinux-stable-23173eae7b9a5389d3f7031b77cde34f63b814a2.tar.gz
linux-stable-23173eae7b9a5389d3f7031b77cde34f63b814a2.tar.bz2
linux-stable-23173eae7b9a5389d3f7031b77cde34f63b814a2.zip
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/i2c/busses/i2c-omap.c')
-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)
/* 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;
}