[U-Boot] [PATCH] I2C: Exynos5: Reduce the Delay in s3c24x0 i2c driver

Akshay Saraswat akshay.s at samsung.com
Mon Mar 25 05:38:30 CET 2013


From: Alim Akhtar <alim.akhtar at samsung.com>

When no device is conneted on the i2c channel then i2c_probe command
was taking too much of time (around 3 mins) to come out from the loop.
Now reduced the delay loop to milisec value.
This is tested on smdk5250 only. As i dont have s3c24x0 boards, so i cannt
test on these baord.

Signed-off-by: Alim Akhtar <alim.akhtar at samsung.com>
Signed-off-by: Doug Anderson <dianders at chromium.org>
Signed-off-by: Akshay Saraswat <akshay.s at samsung.com>
---
 drivers/i2c/s3c24x0_i2c.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
index 769a2ba..789d103 100644
--- a/drivers/i2c/s3c24x0_i2c.c
+++ b/drivers/i2c/s3c24x0_i2c.c
@@ -111,7 +111,7 @@ static int WaitForXfer(struct s3c24x0_i2c *i2c)
 {
 	int i;
 
-	i = I2C_TIMEOUT * 10000;
+	i = I2C_TIMEOUT * 10;
 	while (!(readl(&i2c->iiccon) & I2CCON_IRPND) && (i > 0)) {
 		udelay(100);
 		i--;
@@ -292,7 +292,7 @@ static int i2c_transfer(struct s3c24x0_i2c *i2c,
 	}
 
 	/* Check I2C bus idle */
-	i = I2C_TIMEOUT * 1000;
+	i = I2C_TIMEOUT * 10;
 	while ((readl(&i2c->iicstat) & I2CSTAT_BSY) && (i > 0)) {
 		udelay(1000);
 		i--;
-- 
1.8.0



More information about the U-Boot mailing list