From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jon Date: Sat, 21 Mar 2009 09:38:48 -0400 Subject: [U-Boot] [PATCH 3/3] mpc5200: make i2c faster In-Reply-To: <20090321133727.11905.38048.stgit@localhost> References: <20090321133727.11905.38048.stgit@localhost> Message-ID: <20090321133848.11905.59350.stgit@localhost> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de From: Sascha Hauer 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 --- 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(®s->mcr, 0, 0); mpc_reg_out(®s->mcr, I2C_EN, 0); #endif - udelay(1000); + udelay(1); status = mpc_reg_in(®s->msr); } @@ -109,7 +109,7 @@ static int wait_for_pin(int *status) *status = mpc_reg_in(®s->msr); while (timeout-- && !(*status & I2C_IF)) { - udelay(1000); + udelay(1); *status = mpc_reg_in(®s->msr); }