common, env: Fix support for environment in i2c eeprom
authorMatthias Fuchs <matthias.fuchs@esd.eu>
Wed, 19 Mar 2014 09:25:08 +0000 (10:25 +0100)
committerTom Rini <trini@ti.com>
Fri, 28 Mar 2014 19:06:30 +0000 (15:06 -0400)
When using CONFIG_SYS_I2C i2c needs to be initialized by
i2c_init_all(). This is done in some places but not in
eeprom_init().

Signed-off-by: Matthias Fuchs <matthias.fuchs@esd.eu>
common/cmd_eeprom.c

index 39248054f8d4e2dc22b65bc1b7da33e9e4d6ccf3..fad462fb3481543a51d65dc3e988dfb5ebe7c49b 100644 (file)
@@ -389,8 +389,13 @@ void eeprom_init  (void)
 #if defined(CONFIG_SPI) && !defined(CONFIG_ENV_EEPROM_IS_ON_I2C)
        spi_init_f ();
 #endif
-#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT)
-       i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C_SOFT) || \
+       defined(CONFIG_SYS_I2C)
+#ifdef CONFIG_SYS_I2C
+       i2c_init_all();
+#else
+       i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
+#endif
 #endif
 }