From: Sylvain Lemieux <slemi...@tycoint.com>

The HCLK is not constant and can take different value; use the api function to 
get the value of the HCLK for the I2C clock high and low computation.

Signed-off-by: Sylvain Lemieux <slemi...@tycoint.com>
---
 drivers/i2c/lpc32xx_i2c.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/lpc32xx_i2c.c b/drivers/i2c/lpc32xx_i2c.c
index 78d26e4..98106fa 100644
--- a/drivers/i2c/lpc32xx_i2c.c
+++ b/drivers/i2c/lpc32xx_i2c.c
@@ -72,7 +72,7 @@ static unsigned int lpc32xx_i2c_set_bus_speed(struct 
i2c_adapter *adap,
        if (speed == 0)
                return -EINVAL;
 
-       half_period = (105000000 / speed) / 2;
+       half_period = (get_hclk_clk_rate() / speed) / 2;
 
        if ((half_period > 255) || (half_period < 0))
                return -EINVAL;
-- 
1.8.3.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to