[U-Boot] [PATCH 3/3] mpc5200: make i2c faster

Jon jonsmirl at gmail.com
Sat Mar 21 14:38:48 CET 2009


From: Sascha Hauer <s.hauer at pengutronix.de>

The mpc5xxx i2c driver has great delays while waiting for the chip status.
make the delays smaller and the driver faster.

Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
---
 cpu/mpc5xxx/i2c.c |    6 +++---
 1 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/cpu/mpc5xxx/i2c.c b/cpu/mpc5xxx/i2c.c
index 843af9c..41feb1d 100644
--- a/cpu/mpc5xxx/i2c.c
+++ b/cpu/mpc5xxx/i2c.c
@@ -38,7 +38,7 @@ DECLARE_GLOBAL_DATA_PTR;
 #error CONFIG_SYS_I2C_MODULE is not properly configured
 #endif
 
-#define I2C_TIMEOUT	100
+#define I2C_TIMEOUT	10000
 #define I2C_RETRIES	3
 
 struct mpc5xxx_i2c_tap {
@@ -94,7 +94,7 @@ static int wait_for_bb(void)
 		mpc_reg_out(&regs->mcr, 0, 0);
 		mpc_reg_out(&regs->mcr, I2C_EN, 0);
 #endif
-		udelay(1000);
+		udelay(1);
 		status = mpc_reg_in(&regs->msr);
 	}
 
@@ -109,7 +109,7 @@ static int wait_for_pin(int *status)
 	*status = mpc_reg_in(&regs->msr);
 
 	while (timeout-- && !(*status & I2C_IF)) {
-		udelay(1000);
+		udelay(1);
 		*status = mpc_reg_in(&regs->msr);
 	}
 



More information about the U-Boot mailing list