[U-Boot] [PATCH]fsl_i2c: Add i2c_board_late_init

Wolfgang Denk wd at denx.de
Mon Apr 12 21:28:11 CEST 2010


Dear richardretanubun at ruggedcom.com,

In message <20100412191703.GA30835 at richardretanubun.eng.lan> you wrote:
> From d0d9e0df99ce9035db43ebcf9d48601fa6f096d4 Mon Sep 17 00:00:00 2001
> From: Richard Retanubun <RichardRetanubun at 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

Incorrect multiline comment style.

Instead of adding more #ifdef'ery we now tend to use weak symbols -
but I'm not sure about this here in this context, though. Heiko, what
do you think about this?

Best regards,

Wolfgang Denk

-- 
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd at denx.de
There's an old proverb that says just about whatever you want it to.


More information about the U-Boot mailing list