diff options
author | Philippe Langlais <philippe.langlais@linaro.org> | 2011-03-21 11:31:20 +0100 |
---|---|---|
committer | Ulf Hansson <ulf.hansson@stericsson.com> | 2011-09-19 15:14:36 +0200 |
commit | 345c26bc3284ef6596c55e80112342e4f319843c (patch) | |
tree | 70b6fdfad0309e1b21f98f3639fcc6aab0ab956c /drivers | |
parent | 10c06097fd1f48c1aa49b02fec39093752e3b0d0 (diff) |
i2c-nomadik: Add code to retry on timeout failure and set i2c clock to 400KHz
It is seen that i2c-nomadik controller randomly stops
generating the interrupts leading to a i2c timeout.
As a workaround to this problem add retries, to the on going
transfer on failure.
Since this behaviour does not get changed with a wait for
longer duration, the timeout can be reduced to a lower
value, leading to a quicker retry attempt.
ST-Ericsson ID: ER 325661
Signed-off-by: Virupax Sadashivpetimath <virupax.sadashivpetimath@stericsson.com>
Change-Id: Ic9db2b15ff5ce7e656cbbdfeb19270da9e32f9d1
Reviewed-on: http://gerrit.lud.stericsson.com/gerrit/16972
Tested-by: Virupax SADASHIVPETIMATH <virupax.sadashivpetimath@stericsson.com>
Reviewed-by: Jonas ABERG <jonas.aberg@stericsson.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/i2c/busses/i2c-nomadik.c | 4 |
1 files changed, 0 insertions, 4 deletions
diff --git a/drivers/i2c/busses/i2c-nomadik.c b/drivers/i2c/busses/i2c-nomadik.c index a0cfe9e0ec4..398bce2d5c7 100644 --- a/drivers/i2c/busses/i2c-nomadik.c +++ b/drivers/i2c/busses/i2c-nomadik.c @@ -251,8 +251,6 @@ static int init_hw(struct nmk_i2c_dev *dev) { int stat; - clk_enable(dev->clk); - stat = flush_i2c_fifo(dev); if (stat) goto exit; @@ -267,8 +265,6 @@ static int init_hw(struct nmk_i2c_dev *dev) dev->cli.operation = I2C_NO_OPERATION; exit: - clk_disable(dev->clk); - udelay(I2C_DELAY); return stat; } |