[U-Boot] [PATCH V5 10/10] EXYNOS5: I2C: Added FDT and non-FDT support for I2C
Simon Glass
sjg at chromium.org
Sat Jan 26 21:29:21 CET 2013
Hi Amar,
On Tue, Jan 22, 2013 at 12:43 AM, Amar <amarendra.xt at samsung.com> wrote:
> This patch adds FDT and non-FDT support for I2C, and initialise
> the I2C channels.
>
> Signed-off-by: Amar <amarendra.xt at samsung.com>
> ---
> Changes since V4:
> New patch.
>
> drivers/i2c/s3c24x0_i2c.c | 13 +++++++++++--
> 1 file changed, 11 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/i2c/s3c24x0_i2c.c b/drivers/i2c/s3c24x0_i2c.c
> index 769a2ba..f2a035c 100644
> --- a/drivers/i2c/s3c24x0_i2c.c
> +++ b/drivers/i2c/s3c24x0_i2c.c
> @@ -524,11 +524,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,
> @@ -548,8 +549,16 @@ 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
> + i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);
I suggest this goes up one line, since it shouldn't be needed in the
FDT case, right?
> }
>
> +#ifdef CONFIG_OF_CONTROL
> static struct s3c24x0_i2c_bus *get_bus(unsigned int bus_idx)
> {
> if (bus_idx < i2c_busses)
> --
> 1.8.0
>
Regards,
Simon
More information about the U-Boot
mailing list