diff options
| author | Amar <amarendra.xt@samsung.com> | 2013-04-04 02:27:06 -0400 | 
|---|---|---|
| committer | Minkyu Kang <mk7.kang@samsung.com> | 2013-06-24 11:25:19 +0900 | 
| commit | 2c07bb9b53dded1d49731bb9cab589002b89286f (patch) | |
| tree | d5f9acc7872454555973da61618b42ae57dd627a /drivers/i2c/s3c24x0_i2c.c | |
| parent | 9169543d1e3361313041184d2a66fe08ce0fcb93 (diff) | |
| download | olio-uboot-2014.01-2c07bb9b53dded1d49731bb9cab589002b89286f.tar.xz olio-uboot-2014.01-2c07bb9b53dded1d49731bb9cab589002b89286f.zip | |
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>
Diffstat (limited to 'drivers/i2c/s3c24x0_i2c.c')
| -rw-r--r-- | drivers/i2c/s3c24x0_i2c.c | 12 | 
1 files changed, 10 insertions, 2 deletions
| diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c index 46d25061e..3fc1c5b03 100644 --- a/drivers/i2c/s3c24x0_i2c.c +++ b/drivers/i2c/s3c24x0_i2c.c @@ -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) |