i2c: common changes for multibus/multiadapter support
Signed-off-by: Heiko Schocher <hs@denx.de> Signed-off-by: Simon Glass <sjg@chromium.org> Cc: Henrik Nordström <henrik@henriknordstrom.net>
This commit is contained in:
@@ -69,7 +69,8 @@ extern void dataflash_print_info(void);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_HARD_I2C) || \
|
||||
defined(CONFIG_SOFT_I2C)
|
||||
defined(CONFIG_SOFT_I2C) || \
|
||||
defined(CONFIG_SYS_I2C)
|
||||
#include <i2c.h>
|
||||
#endif
|
||||
|
||||
@@ -169,7 +170,11 @@ static int display_dram_config(void)
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -37,6 +37,10 @@
|
||||
int post_flag;
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SYS_I2C)
|
||||
#include <i2c.h>
|
||||
#endif
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
__attribute__((always_inline))
|
||||
@@ -387,6 +391,9 @@ void board_init_r(gd_t * id, ulong dest_addr)
|
||||
mmc_initialize(bd);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SYS_I2C)
|
||||
i2c_reloc_fixup();
|
||||
#endif
|
||||
/* relocate environment function pointers etc. */
|
||||
env_relocate();
|
||||
|
||||
|
||||
@@ -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 ();
|
||||
|
||||
|
||||
@@ -40,6 +40,10 @@
|
||||
|
||||
DECLARE_GLOBAL_DATA_PTR;
|
||||
|
||||
#if defined(CONFIG_SYS_I2C)
|
||||
#include <i2c.h>
|
||||
#endif
|
||||
|
||||
ulong monitor_flash_len;
|
||||
|
||||
/*
|
||||
@@ -173,7 +177,7 @@ init_fnc_t *init_sequence[] = {
|
||||
#if defined(CONFIG_DISPLAY_BOARDINFO)
|
||||
checkboard, /* display board info */
|
||||
#endif
|
||||
#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SOFT_I2C)
|
||||
#if defined(CONFIG_HARD_I2C) || defined(CONFIG_SYS_I2C)
|
||||
init_func_i2c,
|
||||
#endif
|
||||
dram_init, /* configure available RAM banks */
|
||||
@@ -347,6 +351,10 @@ void board_init_r(gd_t *id, ulong dest_addr)
|
||||
mmc_initialize(gd->bd);
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_SYS_I2C_ADAPTERS)
|
||||
i2c_reloc_fixup();
|
||||
#endif
|
||||
|
||||
/* initialize environment */
|
||||
env_relocate();
|
||||
|
||||
|
||||
@@ -809,7 +809,11 @@ static void video_encoder_init (void)
|
||||
|
||||
/* Initialize the I2C */
|
||||
debug ("[VIDEO ENCODER] Initializing I2C bus...\n");
|
||||
#ifdef CONFIG_SYS_I2C
|
||||
i2c_init_all();
|
||||
#else
|
||||
i2c_init (CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_FADS
|
||||
/* Reset ADV7176 chip */
|
||||
|
||||
@@ -99,7 +99,7 @@ extern void sc3_read_eeprom(void);
|
||||
void doc_init(void);
|
||||
#endif
|
||||
#if defined(CONFIG_HARD_I2C) || \
|
||||
defined(CONFIG_SOFT_I2C)
|
||||
defined(CONFIG_SOFT_I2C)
|
||||
#include <i2c.h>
|
||||
#endif
|
||||
#include <spi.h>
|
||||
@@ -214,11 +214,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;
|
||||
}
|
||||
@@ -307,7 +312,8 @@ static init_fnc_t *init_sequence[] = {
|
||||
misc_init_f,
|
||||
#endif
|
||||
INIT_FUNC_WATCHDOG_RESET
|
||||
#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)
|
||||
|
||||
Reference in New Issue
Block a user