[PATCH] i2c: davinci: use mdelay() for multi-millisecond waits

Bhimeswararao Matsa bhimeswararao.matsa at gmail.com
Fri Aug 29 04:11:30 CEST 2025


Signed-off-by: Bhimeswararao Matsa <bhimeswararao.matsa at gmail.com>
---
 drivers/i2c/davinci_i2c.c | 14 +++++++-------
 1 file changed, 7 insertions(+), 7 deletions(-)

diff --git a/drivers/i2c/davinci_i2c.c b/drivers/i2c/davinci_i2c.c
index 9bba0600e3e..ffd0dd0b282 100644
--- a/drivers/i2c/davinci_i2c.c
+++ b/drivers/i2c/davinci_i2c.c
@@ -51,7 +51,7 @@ static int _wait_for_bus(struct i2c_regs *i2c_base)
 		}
 
 		REG(&(i2c_base->i2c_stat)) = stat;
-		udelay(50000);
+		mdelay(50);
 	}
 
 	REG(&(i2c_base->i2c_stat)) = 0xffff;
@@ -63,7 +63,7 @@ static int _poll_i2c_irq(struct i2c_regs *i2c_base, int mask)
 	int	stat, timeout;
 
 	for (timeout = 0; timeout < 10; timeout++) {
-		udelay(1000);
+		mdelay(1);
 		stat = REG(&(i2c_base->i2c_stat));
 		if (stat & mask)
 			return stat;
@@ -81,7 +81,7 @@ static void _flush_rx(struct i2c_regs *i2c_base)
 
 		REG(&(i2c_base->i2c_drr));
 		REG(&(i2c_base->i2c_stat)) = I2C_STAT_RRDY;
-		udelay(1000);
+		mdelay(1);
 	}
 }
 
@@ -105,7 +105,7 @@ static void _davinci_i2c_init(struct i2c_regs *i2c_base,
 {
 	if (REG(&(i2c_base->i2c_con)) & I2C_CON_EN) {
 		REG(&(i2c_base->i2c_con)) = 0;
-		udelay(50000);
+		mdelay(50);
 	}
 
 	_davinci_i2c_setspeed(i2c_base, speed);
@@ -120,7 +120,7 @@ static void _davinci_i2c_init(struct i2c_regs *i2c_base,
 	/* Now enable I2C controller (get it out of reset) */
 	REG(&(i2c_base->i2c_con)) = I2C_CON_EN;
 
-	udelay(1000);
+	mdelay(1);
 }
 
 static int _davinci_i2c_read(struct i2c_regs *i2c_base, u8 chip,
@@ -319,7 +319,7 @@ static int _davinci_i2c_probe_chip(struct i2c_regs *i2c_base, u8 chip)
 	REG(&(i2c_base->i2c_sa))  = chip;
 	REG(&(i2c_base->i2c_con)) = (I2C_CON_EN | I2C_CON_MST | I2C_CON_STT |
 				     I2C_CON_STP);
-	udelay(50000);
+	mdelay(50);
 
 	if (!(REG(&(i2c_base->i2c_stat)) & I2C_STAT_NACK)) {
 		rc = 0;
@@ -328,7 +328,7 @@ static int _davinci_i2c_probe_chip(struct i2c_regs *i2c_base, u8 chip)
 	} else {
 		REG(&(i2c_base->i2c_stat)) = 0xffff;
 		REG(&(i2c_base->i2c_con)) |= I2C_CON_STP;
-		udelay(20000);
+		mdelay(20);
 		if (_wait_for_bus(i2c_base))
 			return 1;
 	}
-- 
2.43.0



More information about the U-Boot mailing list