[U-Boot] [PATCH v2 2/2] arm nomadik: add i2c

Jean-Christophe PLAGNIOL-VILLARD plagnioj at jcrosoft.com
Mon Jul 27 22:04:08 CEST 2009


>  }
>  
> diff --git a/include/configs/nhk8815.h b/include/configs/nhk8815.h
> index 3e2e09f..8a83d92 100644
> --- a/include/configs/nhk8815.h
> +++ b/include/configs/nhk8815.h
> @@ -93,7 +93,7 @@
>  #define CONFIG_SYS_GBL_DATA_SIZE	128	/* for initial data */
>  #define CONFIG_SYS_64BIT_VSPRINTF	/* mtd desires this */
>  
> -#define CONFIG_MISC_INIT_R	/* call misc_init_r during start up */
> +#define BOARD_LATE_INIT		/* call board_late_init during start up */
>  
>  /* timing informazion */
>  #define CONFIG_SYS_HZ		1000 /* Mandatory... */
> @@ -110,6 +110,22 @@
>  #define CONFIG_PL01x_PORTS	{ (void *)CFG_SERIAL0, (void *)CFG_SERIAL1 }
>  #define CONFIG_PL011_CLOCK	48000000
>  
> +/* i2c, for the port extenders (uses gpio.c in board directory) */
> +#ifndef __ASSEMBLY__
> +#include <asm/arch/gpio.h>
I really do not like to include file from the config
and it will be difficult to clean up when moving to Kconfig
> +#define CONFIG_CMD_I2C
> +#define CONFIG_SOFT_I2C
> +#define CONFIG_SYS_I2C_SPEED	400000
> +#define __SDA			63
> +#define __SCL			62
> +#define I2C_SDA(x)		nmk_gpio_set(__SDA, x)
> +#define I2C_SCL(x)		nmk_gpio_set(__SCL, x)
> +#define I2C_READ		(nmk_gpio_get(__SDA)!=0)
> +#define I2C_ACTIVE		nmk_gpio_dir(__SDA, 1)
> +#define I2C_TRISTATE		nmk_gpio_dir(__SDA, 0)
> +#define I2C_DELAY     (udelay(2))
it will better to define a couple of generic function where we implement it
as this
i2c_sda()
i2c_scl()
i2c_read()
i2c_activate()
i2c_tristate()
i2c_delay()
i2c_get_bus_num()
i2c_set_bus_num()
i2c_get_bus_speed()
i2c_set_bus_speed()
i2c_init()

Best Regards,
J.


More information about the U-Boot mailing list