diff options
author | Alexander Kochetkov <al.kochet@gmail.com> | 2014-11-24 17:20:55 -0500 |
---|---|---|
committer | Wolfram Sang <wsa@the-dreams.de> | 2014-11-25 15:31:31 -0500 |
commit | 23173eae7b9a5389d3f7031b77cde34f63b814a2 (patch) | |
tree | b616512c741f98b3476676bbe96aab07b5ef95ce | |
parent | a7750c3ef0122383901ae48396188aa4b861d32b (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>
-rw-r--r-- | drivers/i2c/busses/i2c-omap.c | 8 |
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 | } |