From 23173eae7b9a5389d3f7031b77cde34f63b814a2 Mon Sep 17 00:00:00 2001 From: Alexander Kochetkov Date: Tue, 25 Nov 2014 02:20:55 +0400 Subject: [PATCH] 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 Signed-off-by: Alexander Kochetkov Fixes: 0f5768bf894f ("i2c: omap: implement workaround for handling invalid BB-bit values") Tested-by: Tony Lindgren Tested-by: Kevin Hilman Signed-off-by: Wolfram Sang --- drivers/i2c/busses/i2c-omap.c | 8 +++++--- 1 file 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; } -- GitLab