summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorTroy Kisky <troy.kisky@boundarydevices.com>2012-04-24 17:33:27 +0000
committerHeiko Schocher <hs@denx.de>2012-07-11 10:54:52 +0200
commit9ca37d78a35b590c8ecc93a1ecfca2411fde5fb7 (patch)
treefc203bcb737751b4bccabef71a46d1f80d1fa2a9 /drivers/i2c
parent3174689be239aae5901fbc5c484a15444bbe96ea (diff)
downloadu-boot-imx-9ca37d78a35b590c8ecc93a1ecfca2411fde5fb7.zip
u-boot-imx-9ca37d78a35b590c8ecc93a1ecfca2411fde5fb7.tar.gz
u-boot-imx-9ca37d78a35b590c8ecc93a1ecfca2411fde5fb7.tar.bz2
mxc_i2c: remove setting speed at each start
Other then being very weird, this code was also wrong. For example, say I set speed to 100K. I'll read back the speed as 85937. But the speed is really 85937.5, so we I reset the speed to 85937, I'll get 73660.7. After a couple of transactions my speed is now exactly 68750 so it will remain there. Signed-off-by: Troy Kisky <troy.kisky@boundarydevices.com> Acked-by: Marek Vasut <marex@denx.de> Acked-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/mxc_i2c.c6
1 files changed, 0 insertions, 6 deletions
diff --git a/drivers/i2c/mxc_i2c.c b/drivers/i2c/mxc_i2c.c
index 416ffee..fc68062 100644
--- a/drivers/i2c/mxc_i2c.c
+++ b/drivers/i2c/mxc_i2c.c
@@ -231,12 +231,6 @@ int i2c_imx_start(void)
struct mxc_i2c_regs *i2c_regs = (struct mxc_i2c_regs *)I2C_BASE;
unsigned int temp = 0;
int result;
- int speed = i2c_get_bus_speed();
- u8 clk_idx = i2c_imx_get_clk(speed);
- u8 idx = i2c_clk_div[clk_idx][1];
-
- /* Store divider value */
- writeb(idx, &i2c_regs->ifdr);
/* Enable I2C controller */
writeb(0, &i2c_regs->i2sr);