From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jean-Christophe PLAGNIOL-VILLARD Date: Mon, 27 Jul 2009 22:04:08 +0200 Subject: [U-Boot] [PATCH v2 2/2] arm nomadik: add i2c In-Reply-To: <0b10781c46b757737db8ff5e49c2b8b745c9f269.1248427487.git.rubini@unipv.it> References: <0e975ff141a9923b58859fad00cf3df664f2fe04.1248427487.git.rubini@unipv.it> <0b10781c46b757737db8ff5e49c2b8b745c9f269.1248427487.git.rubini@unipv.it> Message-ID: <20090727200408.GC5259@game.jcrosoft.org> List-Id: MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit To: u-boot@lists.denx.de > } > > 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 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.