EXYNOS5: I2C: Add FDT and non-FDT support for I2C
This patch updates the function board_i2c_init() to add support for both FDT and non-FDT for I2C, and initialise the I2C channels. Signed-off-by: Amar <amarendra.xt@samsung.com> Acked-by: Simon Glass <sjg@chromium.org> Signed-off-by: Minkyu Kang <mk7.kang@samsung.com>
This commit is contained in:
parent
9169543d1e
commit
2c07bb9b53
@ -515,11 +515,12 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)
|
||||
len) != 0);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
void board_i2c_init(const void *blob)
|
||||
{
|
||||
int i;
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
int node_list[CONFIG_MAX_I2C_NUM];
|
||||
int count, i;
|
||||
int count;
|
||||
|
||||
count = fdtdec_find_aliases_for_id(blob, "i2c",
|
||||
COMPAT_SAMSUNG_S3C2440_I2C, node_list,
|
||||
@ -539,8 +540,15 @@ void board_i2c_init(const void *blob)
|
||||
bus->bus_num = i2c_busses++;
|
||||
exynos_pinmux_config(bus->id, 0);
|
||||
}
|
||||
#else
|
||||
for (i = 0; i < CONFIG_MAX_I2C_NUM; i++) {
|
||||
exynos_pinmux_config((PERIPH_ID_I2C0 + i),
|
||||
PINMUX_FLAG_NONE);
|
||||
}
|
||||
#endif
|
||||
}
|
||||
|
||||
#ifdef CONFIG_OF_CONTROL
|
||||
static struct s3c24x0_i2c_bus *get_bus(unsigned int bus_idx)
|
||||
{
|
||||
if (bus_idx < i2c_busses)
|
||||
|
Loading…
Reference in New Issue
Block a user