>From d0d9e0df99ce9035db43ebcf9d48601fa6f096d4 Mon Sep 17 00:00:00 2001 From: Richard Retanubun <richardretanu...@ruggedcom.com> Date: Mon, 12 Apr 2010 15:08:17 -0400 Subject: [PATCH] fsl_i2c: Added a callpoint for i2c_board_late_init
This patch adds a callpoint in i2c_init that allows board specific i2c board initialization (typically for i2c bus reset) that is called after i2c_init operations, allowing the i2c_board_late_init function to use the pre-configured i2c bus speed and slave address. --- Hi Wolfgang & Heiko, This is the patch that adds another callpoint. Thanks for all the feedback. - Richard drivers/i2c/fsl_i2c.c | 8 ++++++++ 1 files changed, 8 insertions(+), 0 deletions(-) diff --git a/drivers/i2c/fsl_i2c.c b/drivers/i2c/fsl_i2c.c index 2241990..a1a62fa 100644 --- a/drivers/i2c/fsl_i2c.c +++ b/drivers/i2c/fsl_i2c.c @@ -249,6 +249,14 @@ i2c_init(int speed, int slaveadd) writeb(0x0, &dev->sr); /* clear status register */ writeb(I2C_CR_MEN, &dev->cr); /* start I2C controller */ #endif + +#ifdef CONFIG_SYS_I2C_BOARD_LATE_INIT + /* Call board specific i2c bus reset routine after the bus has been */ + /* initialized. Use either this callpoint or i2c_init_board; which is */ + /* called before i2c_init operations. */ + /* For details about this problem see doc/I2C_Edge_Conditions. */ + i2c_board_late_init(); +#endif } static int -- 1.7.0 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot