diff options
Diffstat (limited to 'arch/m68k/lib/board.c')
| -rw-r--r-- | arch/m68k/lib/board.c | 17 | 
1 files changed, 14 insertions, 3 deletions
| diff --git a/arch/m68k/lib/board.c b/arch/m68k/lib/board.c index efc9fccc1..582f47b50 100644 --- a/arch/m68k/lib/board.c +++ b/arch/m68k/lib/board.c @@ -56,7 +56,7 @@  #include <version.h>  #if defined(CONFIG_HARD_I2C) || \ -    defined(CONFIG_SOFT_I2C) +	defined(CONFIG_SOFT_I2C)  #include <i2c.h>  #endif @@ -142,11 +142,16 @@ static int init_func_ram (void)  /***********************************************************************/ -#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) +#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) || \ +		defined(CONFIG_SYS_I2C)  static int init_func_i2c (void)  {  	puts ("I2C:   "); +#ifdef CONFIG_SYS_I2C +	i2c_init_all(); +#else  	i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +#endif  	puts ("ready\n");  	return (0);  } @@ -178,7 +183,8 @@ init_fnc_t *init_sequence[] = {  	display_options,  	checkcpu,  	checkboard, -#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) +#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C) || \ +		defined(CONFIG_SYS_I2C)  	init_func_i2c,  #endif  #if defined(CONFIG_HARD_SPI) @@ -501,6 +507,11 @@ void board_init_r (gd_t *id, ulong dest_addr)  	spi_init_r ();  #endif +#if defined(CONFIG_SYS_I2C) +	/* Adjust I2C subsystem pointers after relocation */ +	i2c_reloc_fixup(); +#endif +  	/* relocate environment function pointers etc. */  	env_relocate (); |