[U-Boot] [PATCH 7/7] i2c: mxs: Fix TIMING2 register value

Marek Vasut marex at denx.de
Tue Nov 13 01:34:31 CET 2012


According to FSL, the value in the TIMING2 register shall be 0x00300030
instead of what's written in the datasheet. This new value correlates
with older STMP36xx datasheet. Issues were detected in Linux when this
register was misconfigured, so write this correct value.

Signed-off-by: Marek Vasut <marex at denx.de>
Cc: Stefano Babic <sbabic at denx.de>
Cc: Fabio Estevam <fabio.estevam at freescale.com>
---
 drivers/i2c/mxs_i2c.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/i2c/mxs_i2c.c b/drivers/i2c/mxs_i2c.c
index 3771452..006fb91 100644
--- a/drivers/i2c/mxs_i2c.c
+++ b/drivers/i2c/mxs_i2c.c
@@ -267,8 +267,8 @@ int i2c_set_bus_speed(unsigned int speed)
 	writel(spd->timing0, &i2c_regs->hw_i2c_timing0);
 	writel(spd->timing1, &i2c_regs->hw_i2c_timing1);
 
-	writel((0x0015 << I2C_TIMING2_BUS_FREE_OFFSET) |
-		(0x000d << I2C_TIMING2_LEADIN_COUNT_OFFSET),
+	writel((0x0030 << I2C_TIMING2_BUS_FREE_OFFSET) |
+		(0x0030 << I2C_TIMING2_LEADIN_COUNT_OFFSET),
 		&i2c_regs->hw_i2c_timing2);
 
 	return 0;
-- 
1.7.10.4



More information about the U-Boot mailing list