提交 3c853f31 编写于 作者: J Jon Smirl 提交者: Wolfgang Denk

mpc5200: reduce delays in i2c

The previous code waited 1000us before checking i2c
status. Measurement shows i2c is usually ready in
under 50us. Change the polling interval to 15us,
loop 6,667 times to keep the polling timeout constant
at 100ms.
上级 c0a14aed
......@@ -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 6667
#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(15);
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(15);
*status = mpc_reg_in(&regs->msr);
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册