diff options
41 files changed, 239 insertions, 188 deletions
| @@ -2058,6 +2058,19 @@ CBFS (Coreboot Filesystem) support  		  - CONFIG_SYS_I2C_SH_SPEED5 for for the speed channel 5  		  - CONFIF_SYS_I2C_SH_NUM_CONTROLLERS for nummber of i2c buses +		- drivers/i2c/omap24xx_i2c.c +		  - activate this driver with CONFIG_SYS_I2C_OMAP24XX +		  - CONFIG_SYS_OMAP24_I2C_SPEED speed channel 0 +		  - CONFIG_SYS_OMAP24_I2C_SLAVE slave addr channel 0 +		  - CONFIG_SYS_OMAP24_I2C_SPEED1 speed channel 1 +		  - CONFIG_SYS_OMAP24_I2C_SLAVE1 slave addr channel 1 +		  - CONFIG_SYS_OMAP24_I2C_SPEED2 speed channel 2 +		  - CONFIG_SYS_OMAP24_I2C_SLAVE2 slave addr channel 2 +		  - CONFIG_SYS_OMAP24_I2C_SPEED3 speed channel 3 +		  - CONFIG_SYS_OMAP24_I2C_SLAVE3 slave addr channel 3 +		  - CONFIG_SYS_OMAP24_I2C_SPEED4 speed channel 4 +		  - CONFIG_SYS_OMAP24_I2C_SLAVE4 slave addr channel 4 +  		additional defines:  		CONFIG_SYS_NUM_I2C_BUSES diff --git a/arch/arm/cpu/armv7/omap-common/clocks-common.c b/arch/arm/cpu/armv7/omap-common/clocks-common.c index bb77b5ca3..dfa3760df 100644 --- a/arch/arm/cpu/armv7/omap-common/clocks-common.c +++ b/arch/arm/cpu/armv7/omap-common/clocks-common.c @@ -779,7 +779,8 @@ void gpi2c_init(void)  	static int gpi2c = 1;  	if (gpi2c) { -		i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +		i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, +			 CONFIG_SYS_OMAP24_I2C_SLAVE);  		gpi2c = 0;  	}  } diff --git a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds index 5e93b343e..989083c80 100644 --- a/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds +++ b/arch/arm/cpu/armv7/omap-common/u-boot-spl.lds @@ -33,6 +33,10 @@ SECTIONS  	.data : { *(SORT_BY_ALIGNMENT(.data*)) } >.sram  	. = ALIGN(4); +	.u_boot_list : { +		KEEP(*(SORT(.u_boot_list*))); +	} >.sram +	. = ALIGN(4);  	__image_copy_end = .;  	_end = .; diff --git a/arch/arm/cpu/armv7/omap3/board.c b/arch/arm/cpu/armv7/omap3/board.c index 7d1f8d9d2..29228160c 100644 --- a/arch/arm/cpu/armv7/omap3/board.c +++ b/arch/arm/cpu/armv7/omap3/board.c @@ -98,7 +98,7 @@ void spl_board_init(void)  	gpmc_init();  #endif  #ifdef CONFIG_SPL_I2C_SUPPORT -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  #endif  }  #endif /* CONFIG_SPL_BUILD */ diff --git a/arch/arm/cpu/armv7/omap3/clock.c b/arch/arm/cpu/armv7/omap3/clock.c index 9f989ff86..14fc7e8e8 100644 --- a/arch/arm/cpu/armv7/omap3/clock.c +++ b/arch/arm/cpu/armv7/omap3/clock.c @@ -708,7 +708,7 @@ void per_clocks_enable(void)  	sr32(&prcm_base->iclken_per, 17, 1, 1);  #endif -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX  	/* Turn on all 3 I2C clocks */  	sr32(&prcm_base->fclken1_core, 15, 3, 0x7);  	sr32(&prcm_base->iclken1_core, 15, 3, 0x7);	/* I2C1,2,3 = on */ diff --git a/arch/arm/include/asm/arch-am33xx/i2c.h b/arch/arm/include/asm/arch-am33xx/i2c.h index 8bfa53f41..8642c8f87 100644 --- a/arch/arm/include/asm/arch-am33xx/i2c.h +++ b/arch/arm/include/asm/arch-am33xx/i2c.h @@ -4,8 +4,8 @@   *   * SPDX-License-Identifier:	GPL-2.0+   */ -#ifndef _I2C_H_ -#define _I2C_H_ +#ifndef _I2C_AM33XX_H_ +#define _I2C_AM33XX_H_  #define  I2C_BASE1		0x44E0B000  #define  I2C_BASE2		0x4802A000 @@ -62,4 +62,4 @@ struct i2c {  #define I2C_IP_CLK			48000000  #define I2C_INTERNAL_SAMPLING_CLK	12000000 -#endif /* _I2C_H_ */ +#endif /* _I2C_AM33XX_H_ */ diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c index 9f2937a97..bc8e0cad9 100644 --- a/board/compulab/cm_t35/cm_t35.c +++ b/board/compulab/cm_t35/cm_t35.c @@ -482,7 +482,7 @@ static void setup_net_chip_gmpc(void)  		&ctrl_base->gpmc_nadv_ale);  } -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX  /*   * Routine: reset_net_chip   * Description: reset the Ethernet controller via TPS65930 GPIO diff --git a/board/compulab/common/Makefile b/board/compulab/common/Makefile index 831be2e0e..6d7d06815 100644 --- a/board/compulab/common/Makefile +++ b/board/compulab/common/Makefile @@ -6,5 +6,5 @@  # SPDX-License-Identifier:	GPL-2.0+  # -obj-$(CONFIG_DRIVER_OMAP34XX_I2C) += eeprom.o +obj-$(CONFIG_SYS_I2C_OMAP34XX) += eeprom.o  obj-$(CONFIG_LCD) += omap3_display.o diff --git a/board/compulab/common/eeprom.h b/board/compulab/common/eeprom.h index cf8c302b2..e87162930 100644 --- a/board/compulab/common/eeprom.h +++ b/board/compulab/common/eeprom.h @@ -10,7 +10,7 @@  #ifndef _EEPROM_  #define _EEPROM_ -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX  int cl_eeprom_read_mac_addr(uchar *buf);  u32 cl_eeprom_get_board_rev(void);  #else diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c index b6c68da7a..156990546 100644 --- a/board/logicpd/am3517evm/am3517evm.c +++ b/board/logicpd/am3517evm/am3517evm.c @@ -98,8 +98,8 @@ static void am3517_evm_musb_init(void)   */  int misc_init_r(void)  { -#ifdef CONFIG_DRIVER_OMAP34XX_I2C -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +#ifdef CONFIG_SYS_I2C_OMAP34XX +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  #endif  	dieid_num_r(); diff --git a/board/overo/overo.c b/board/overo/overo.c index aace42a8b..9ac35d2f4 100644 --- a/board/overo/overo.c +++ b/board/overo/overo.c @@ -92,7 +92,7 @@ int get_board_revision(void)  {  	int revision; -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef CONFIG_SYS_I2C_OMAP34XX  	unsigned char data;  	/* board revisions <= R2410 connect 4030 irq_1 to gpio112             */ diff --git a/board/phytec/pcm051/board.c b/board/phytec/pcm051/board.c index dafb1eb8e..034886ad5 100644 --- a/board/phytec/pcm051/board.c +++ b/board/phytec/pcm051/board.c @@ -91,7 +91,7 @@ void set_mux_conf_regs(void)  {  	/* Initalize the board header */  	enable_i2c0_pin_mux(); -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  	enable_board_pin_mux();  } @@ -108,7 +108,7 @@ void sdram_init(void)   */  int board_init(void)  { -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100; diff --git a/board/siemens/common/board.c b/board/siemens/common/board.c index 6279c3281..32d2ee4de 100644 --- a/board/siemens/common/board.c +++ b/board/siemens/common/board.c @@ -42,7 +42,7 @@ void set_mux_conf_regs(void)  {  	/* Initalize the board header */  	enable_i2c0_pin_mux(); -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_set_bus_num(0);  	if (read_eeprom() < 0)  		puts("Could not get board ID.\n"); @@ -67,7 +67,7 @@ int board_init(void)  #if defined(CONFIG_HW_WATCHDOG)  	hw_watchdog_init();  #endif /* defined(CONFIG_HW_WATCHDOG) */ -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_set_bus_num(0);  	if (read_eeprom() < 0)  		puts("Could not get board ID.\n"); diff --git a/board/ti/am335x/board.c b/board/ti/am335x/board.c index 57fedab34..8edd21b11 100644 --- a/board/ti/am335x/board.c +++ b/board/ti/am335x/board.c @@ -397,7 +397,7 @@ const struct dpll_params *get_dpll_ddr_params(void)  	struct am335x_baseboard_id header;  	enable_i2c0_pin_mux(); -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  	if (read_eeprom(&header) < 0)  		puts("Could not get board ID.\n"); diff --git a/board/ti/am3517crane/am3517crane.c b/board/ti/am3517crane/am3517crane.c index 5eb97ff37..a64969725 100644 --- a/board/ti/am3517crane/am3517crane.c +++ b/board/ti/am3517crane/am3517crane.c @@ -43,8 +43,8 @@ int board_init(void)   */  int misc_init_r(void)  { -#ifdef CONFIG_DRIVER_OMAP34XX_I2C -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +#ifdef CONFIG_SYS_I2C_OMAP34XX +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  #endif  	dieid_num_r(); diff --git a/board/ti/evm/evm.c b/board/ti/evm/evm.c index c71c21852..81dd081d7 100644 --- a/board/ti/evm/evm.c +++ b/board/ti/evm/evm.c @@ -146,8 +146,8 @@ void get_board_mem_timings(struct board_sdrc_timings *timings)  int misc_init_r(void)  { -#ifdef CONFIG_DRIVER_OMAP34XX_I2C -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +#ifdef CONFIG_SYS_I2C_OMAP34XX +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE);  #endif  #if defined(CONFIG_CMD_NET) diff --git a/drivers/i2c/Makefile b/drivers/i2c/Makefile index 0899b6e5a..298b17b36 100644 --- a/drivers/i2c/Makefile +++ b/drivers/i2c/Makefile @@ -12,8 +12,6 @@ obj-$(CONFIG_I2C_MVTWSI) += mvtwsi.o  obj-$(CONFIG_I2C_MV) += mv_i2c.o  obj-$(CONFIG_I2C_MXS) += mxs_i2c.o  obj-$(CONFIG_DRIVER_OMAP1510_I2C) += omap1510_i2c.o -obj-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o -obj-$(CONFIG_DRIVER_OMAP34XX_I2C) += omap24xx_i2c.o  obj-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o  obj-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o  obj-$(CONFIG_TSI108_I2C) += tsi108_i2c.o @@ -23,6 +21,8 @@ obj-$(CONFIG_SYS_I2C) += i2c_core.o  obj-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o  obj-$(CONFIG_SYS_I2C_FTI2C010) += fti2c010.o  obj-$(CONFIG_SYS_I2C_MXC) += mxc_i2c.o +obj-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o +obj-$(CONFIG_SYS_I2C_OMAP34XX) += omap24xx_i2c.o  obj-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o  obj-$(CONFIG_SYS_I2C_RCAR) += rcar_i2c.o  obj-$(CONFIG_SYS_I2C_SH) += sh_i2c.o diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c index ef38d7172..3d38c035b 100644 --- a/drivers/i2c/omap24xx_i2c.c +++ b/drivers/i2c/omap24xx_i2c.c @@ -35,6 +35,7 @@   */  #include <common.h> +#include <i2c.h>  #include <asm/arch/i2c.h>  #include <asm/io.h> @@ -48,22 +49,14 @@ DECLARE_GLOBAL_DATA_PTR;  /* Absolutely safe for status update at 100 kHz I2C: */  #define I2C_WAIT	200 -static int wait_for_bb(void); -static u16 wait_for_event(void); -static void flush_fifo(void); +static int wait_for_bb(struct i2c_adapter *adap); +static struct i2c *omap24_get_base(struct i2c_adapter *adap); +static u16 wait_for_event(struct i2c_adapter *adap); +static void flush_fifo(struct i2c_adapter *adap); -/* - * For SPL boot some boards need i2c before SDRAM is initialised so force - * variables to live in SRAM - */ -static struct i2c __attribute__((section (".data"))) *i2c_base = -					(struct i2c *)I2C_DEFAULT_BASE; -static unsigned int __attribute__((section (".data"))) bus_initialized[I2C_BUS_MAX] = -					{ [0 ... (I2C_BUS_MAX-1)] = 0 }; -static unsigned int __attribute__((section (".data"))) current_bus = 0; - -void i2c_init(int speed, int slaveadd) +static void omap24_i2c_init(struct i2c_adapter *adap, int speed, int slaveadd)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	int psc, fsscll, fssclh;  	int hsscll = 0, hssclh = 0;  	u32 scll, sclh; @@ -163,16 +156,15 @@ void i2c_init(int speed, int slaveadd)  	       I2C_IE_NACK_IE | I2C_IE_AL_IE, &i2c_base->ie);  #endif  	udelay(1000); -	flush_fifo(); +	flush_fifo(adap);  	writew(0xFFFF, &i2c_base->stat);  	writew(0, &i2c_base->cnt); - -	if (gd->flags & GD_FLG_RELOC) -		bus_initialized[current_bus] = 1;  } -static void flush_fifo(void) -{	u16 stat; +static void flush_fifo(struct i2c_adapter *adap) +{ +	struct i2c *i2c_base = omap24_get_base(adap); +	u16 stat;  	/* note: if you try and read data when its not there or ready  	 * you get a bus error @@ -192,8 +184,9 @@ static void flush_fifo(void)   * i2c_probe: Use write access. Allows to identify addresses that are   *            write-only (like the config register of dual-port EEPROMs)   */ -int i2c_probe(uchar chip) +static int omap24_i2c_probe(struct i2c_adapter *adap, uchar chip)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	u16 status;  	int res = 1; /* default = fail */ @@ -201,7 +194,7 @@ int i2c_probe(uchar chip)  		return res;  	/* Wait until bus is free */ -	if (wait_for_bb()) +	if (wait_for_bb(adap))  		return res;  	/* No data transfer, slave addr only */ @@ -212,7 +205,7 @@ int i2c_probe(uchar chip)  	writew(I2C_CON_EN | I2C_CON_MST | I2C_CON_STT | I2C_CON_TRX |  	       I2C_CON_STP, &i2c_base->con); -	status = wait_for_event(); +	status = wait_for_event(adap);  	if ((status & ~I2C_STAT_XRDY) == 0 || (status & I2C_STAT_AL)) {  		/* @@ -223,7 +216,7 @@ int i2c_probe(uchar chip)  		 */  		if (status == I2C_STAT_XRDY)  			printf("i2c_probe: pads on bus %d probably not configured (status=0x%x)\n", -			       current_bus, status); +			       adap->hwadapnr, status);  		goto pr_exit;  	} @@ -239,7 +232,7 @@ int i2c_probe(uchar chip)  		       I2C_CON_STP, &i2c_base->con);		/* STP */  	}  pr_exit: -	flush_fifo(); +	flush_fifo(adap);  	writew(0xFFFF, &i2c_base->stat);  	writew(0, &i2c_base->cnt);  	return res; @@ -258,8 +251,10 @@ pr_exit:   *           or that do not need a register address at all (such as some clock   *           distributors).   */ -int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len) +static int omap24_i2c_read(struct i2c_adapter *adap, uchar chip, uint addr, +			   int alen, uchar *buffer, int len)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	int i2c_error = 0;  	u16 status; @@ -287,7 +282,7 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)  	}  	/* Wait until bus not busy */ -	if (wait_for_bb()) +	if (wait_for_bb(adap))  		return 1;  	/* Zero, one or two bytes reg address (offset) */ @@ -308,12 +303,12 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)  #endif  		/* Send register offset */  		while (1) { -			status = wait_for_event(); +			status = wait_for_event(adap);  			/* Try to identify bus that is not padconf'd for I2C */  			if (status == I2C_STAT_XRDY) {  				i2c_error = 2;  				printf("i2c_read (addr phase): pads on bus %d probably not configured (status=0x%x)\n", -				       current_bus, status); +				       adap->hwadapnr, status);  				goto rd_exit;  			}  			if (status == 0 || status & I2C_STAT_NACK) { @@ -348,7 +343,7 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)  	/* Receive data */  	while (1) { -		status = wait_for_event(); +		status = wait_for_event(adap);  		/*  		 * Try to identify bus that is not padconf'd for I2C. This  		 * state could be left over from previous transactions if @@ -357,7 +352,7 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)  		if (status == I2C_STAT_XRDY) {  			i2c_error = 2;  			printf("i2c_read (data phase): pads on bus %d probably not configured (status=0x%x)\n", -			       current_bus, status); +			       adap->hwadapnr, status);  			goto rd_exit;  		}  		if (status == 0 || status & I2C_STAT_NACK) { @@ -375,15 +370,17 @@ int i2c_read(uchar chip, uint addr, int alen, uchar *buffer, int len)  	}  rd_exit: -	flush_fifo(); +	flush_fifo(adap);  	writew(0xFFFF, &i2c_base->stat);  	writew(0, &i2c_base->cnt);  	return i2c_error;  }  /* i2c_write: Address (reg offset) may be 0, 1 or 2 bytes long. */ -int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len) +static int omap24_i2c_write(struct i2c_adapter *adap, uchar chip, uint addr, +			    int alen, uchar *buffer, int len)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	int i;  	u16 status;  	int i2c_error = 0; @@ -415,7 +412,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)  	}  	/* Wait until bus not busy */ -	if (wait_for_bb()) +	if (wait_for_bb(adap))  		return 1;  	/* Start address phase - will write regoffset + len bytes data */ @@ -428,12 +425,12 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)  	while (alen) {  		/* Must write reg offset (one or two bytes) */ -		status = wait_for_event(); +		status = wait_for_event(adap);  		/* Try to identify bus that is not padconf'd for I2C */  		if (status == I2C_STAT_XRDY) {  			i2c_error = 2;  			printf("i2c_write: pads on bus %d probably not configured (status=0x%x)\n", -			       current_bus, status); +			       adap->hwadapnr, status);  			goto wr_exit;  		}  		if (status == 0 || status & I2C_STAT_NACK) { @@ -455,7 +452,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)  	}  	/* Address phase is over, now write data */  	for (i = 0; i < len; i++) { -		status = wait_for_event(); +		status = wait_for_event(adap);  		if (status == 0 || status & I2C_STAT_NACK) {  			i2c_error = 1;  			printf("i2c_write: error waiting for data ACK (status=0x%x)\n", @@ -474,7 +471,7 @@ int i2c_write(uchar chip, uint addr, int alen, uchar *buffer, int len)  	}  wr_exit: -	flush_fifo(); +	flush_fifo(adap);  	writew(0xFFFF, &i2c_base->stat);  	writew(0, &i2c_base->cnt);  	return i2c_error; @@ -484,8 +481,9 @@ wr_exit:   * Wait for the bus to be free by checking the Bus Busy (BB)   * bit to become clear   */ -static int wait_for_bb(void) +static int wait_for_bb(struct i2c_adapter *adap)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	int timeout = I2C_TIMEOUT;  	u16 stat; @@ -514,8 +512,9 @@ static int wait_for_bb(void)   * Wait for the I2C controller to complete current action   * and update status   */ -static u16 wait_for_event(void) +static u16 wait_for_event(struct i2c_adapter *adap)  { +	struct i2c *i2c_base = omap24_get_base(adap);  	u16 status;  	int timeout = I2C_TIMEOUT; @@ -540,7 +539,7 @@ static u16 wait_for_event(void)  		 * not been configured for I2C, and/or pull-ups are missing.  		 */  		printf("Check if pads/pull-ups of bus %d are properly configured\n", -		       current_bus); +		       adap->hwadapnr);  		writew(0xFFFF, &i2c_base->stat);  		status = 0;  	} @@ -548,48 +547,93 @@ static u16 wait_for_event(void)  	return status;  } -int i2c_set_bus_num(unsigned int bus) +static struct i2c *omap24_get_base(struct i2c_adapter *adap)  { -	if (bus >= I2C_BUS_MAX) { -		printf("Bad bus: %x\n", bus); -		return -1; -	} - -	switch (bus) { -	default: -		bus = 0;	/* Fall through */ +	switch (adap->hwadapnr) {  	case 0: -		i2c_base = (struct i2c *)I2C_BASE1; +		return (struct i2c *)I2C_BASE1;  		break;  	case 1: -		i2c_base = (struct i2c *)I2C_BASE2; +		return (struct i2c *)I2C_BASE2;  		break;  #if (I2C_BUS_MAX > 2)  	case 2: -		i2c_base = (struct i2c *)I2C_BASE3; +		return (struct i2c *)I2C_BASE3;  		break;  #if (I2C_BUS_MAX > 3)  	case 3: -		i2c_base = (struct i2c *)I2C_BASE4; +		return (struct i2c *)I2C_BASE4;  		break;  #if (I2C_BUS_MAX > 4)  	case 4: -		i2c_base = (struct i2c *)I2C_BASE5; +		return (struct i2c *)I2C_BASE5;  		break;  #endif  #endif  #endif +	default: +		printf("wrong hwadapnr: %d\n", adap->hwadapnr); +		break;  	} +	return NULL; +} -	current_bus = bus; +#if !defined(CONFIG_SYS_OMAP24_I2C_SPEED1) +#define CONFIG_SYS_OMAP24_I2C_SPEED1 CONFIG_SYS_OMAP24_I2C_SPEED +#endif +#if !defined(CONFIG_SYS_OMAP24_I2C_SLAVE1) +#define CONFIG_SYS_OMAP24_I2C_SLAVE1 CONFIG_SYS_OMAP24_I2C_SLAVE +#endif -	if (!bus_initialized[current_bus]) -		i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE); +U_BOOT_I2C_ADAP_COMPLETE(omap24_0, omap24_i2c_init, omap24_i2c_probe, +			 omap24_i2c_read, omap24_i2c_write, NULL, +			 CONFIG_SYS_OMAP24_I2C_SPEED, +			 CONFIG_SYS_OMAP24_I2C_SLAVE, +			 0) +U_BOOT_I2C_ADAP_COMPLETE(omap24_1, omap24_i2c_init, omap24_i2c_probe, +			 omap24_i2c_read, omap24_i2c_write, NULL, +			 CONFIG_SYS_OMAP24_I2C_SPEED1, +			 CONFIG_SYS_OMAP24_I2C_SLAVE1, +			 1) +#if (I2C_BUS_MAX > 2) +#if !defined(CONFIG_SYS_OMAP24_I2C_SPEED2) +#define CONFIG_SYS_OMAP24_I2C_SPEED2 CONFIG_SYS_OMAP24_I2C_SPEED +#endif +#if !defined(CONFIG_SYS_OMAP24_I2C_SLAVE2) +#define CONFIG_SYS_OMAP24_I2C_SLAVE2 CONFIG_SYS_OMAP24_I2C_SLAVE +#endif -	return 0; -} +U_BOOT_I2C_ADAP_COMPLETE(omap24_2, omap24_i2c_init, omap24_i2c_probe, +			 omap24_i2c_read, omap24_i2c_write, NULL, +			 CONFIG_SYS_OMAP24_I2C_SPEED2, +			 CONFIG_SYS_OMAP24_I2C_SLAVE2, +			 2) +#if (I2C_BUS_MAX > 3) +#if !defined(CONFIG_SYS_OMAP24_I2C_SPEED3) +#define CONFIG_SYS_OMAP24_I2C_SPEED3 CONFIG_SYS_OMAP24_I2C_SPEED +#endif +#if !defined(CONFIG_SYS_OMAP24_I2C_SLAVE3) +#define CONFIG_SYS_OMAP24_I2C_SLAVE3 CONFIG_SYS_OMAP24_I2C_SLAVE +#endif -int i2c_get_bus_num(void) -{ -	return (int) current_bus; -} +U_BOOT_I2C_ADAP_COMPLETE(omap24_3, omap24_i2c_init, omap24_i2c_probe, +			 omap24_i2c_read, omap24_i2c_write, NULL, +			 CONFIG_SYS_OMAP24_I2C_SPEED3, +			 CONFIG_SYS_OMAP24_I2C_SLAVE3, +			 3) +#if (I2C_BUS_MAX > 4) +#if !defined(CONFIG_SYS_OMAP24_I2C_SPEED4) +#define CONFIG_SYS_OMAP24_I2C_SPEED4 CONFIG_SYS_OMAP24_I2C_SPEED +#endif +#if !defined(CONFIG_SYS_OMAP24_I2C_SLAVE4) +#define CONFIG_SYS_OMAP24_I2C_SLAVE4 CONFIG_SYS_OMAP24_I2C_SLAVE +#endif + +U_BOOT_I2C_ADAP_COMPLETE(omap24_4, omap24_i2c_init, omap24_i2c_probe, +			 omap24_i2c_read, omap24_i2c_write, NULL, +			 CONFIG_SYS_OMAP24_I2C_SPEED4, +			 CONFIG_SYS_OMAP24_I2C_SLAVE4, +			 4) +#endif +#endif +#endif diff --git a/include/configs/am335x_evm.h b/include/configs/am335x_evm.h index c2ba7e35d..f35ed6fba 100644 --- a/include/configs/am335x_evm.h +++ b/include/configs/am335x_evm.h @@ -183,7 +183,6 @@  #define CONFIG_SYS_NS16550_COM6		0x481aa000	/* UART5 */  #define CONFIG_BAUDRATE			115200 -/* I2C Configuration */  #define CONFIG_CMD_EEPROM  #define CONFIG_ENV_EEPROM_IS_ON_I2C  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */ diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h index c5e67bf87..6fd3fb904 100644 --- a/include/configs/am3517_crane.h +++ b/include/configs/am3517_crane.h @@ -142,10 +142,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  #undef CONFIG_CMD_NET  #undef CONFIG_CMD_NFS diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h index 5ff65c6d5..7e9c55edf 100644 --- a/include/configs/am3517_evm.h +++ b/include/configs/am3517_evm.h @@ -136,10 +136,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  #undef CONFIG_CMD_NET  #undef CONFIG_CMD_NFS diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h index a6c63cb49..f4ecd0ddb 100644 --- a/include/configs/cm_t35.h +++ b/include/configs/cm_t35.h @@ -141,10 +141,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1  #define CONFIG_I2C_MULTI_BUS diff --git a/include/configs/devkit8000.h b/include/configs/devkit8000.h index 8343891cb..474a5687a 100644 --- a/include/configs/devkit8000.h +++ b/include/configs/devkit8000.h @@ -90,10 +90,10 @@  #define CONFIG_DOS_PARTITION		1  /* I2C */ -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /* TWL4030 */  #define CONFIG_TWL4030_POWER		1 diff --git a/include/configs/dig297.h b/include/configs/dig297.h index c19c4c754..5049afca7 100644 --- a/include/configs/dig297.h +++ b/include/configs/dig297.h @@ -123,10 +123,10 @@  #undef CONFIG_CMD_NFS		/* NFS support			*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/mcx.h b/include/configs/mcx.h index 4619dfb3e..a2f7cf711 100644 --- a/include/configs/mcx.h +++ b/include/configs/mcx.h @@ -137,10 +137,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /* RTC */  #define CONFIG_RTC_DS1337 diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h index 4332779d2..e0c0fac8e 100644 --- a/include/configs/nokia_rx51.h +++ b/include/configs/nokia_rx51.h @@ -157,10 +157,10 @@  #undef CONFIG_CMD_SETGETDCR		/* DCR support on 4xx */  #define CONFIG_OMAP3_SPI -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_beagle.h b/include/configs/omap3_beagle.h index 47d990208..bba39d428 100644 --- a/include/configs/omap3_beagle.h +++ b/include/configs/omap3_beagle.h @@ -161,11 +161,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  #define CONFIG_VIDEO_OMAP3	/* DSS Support			*/  /* diff --git a/include/configs/omap3_evm_common.h b/include/configs/omap3_evm_common.h index 3eae28884..43616e2b0 100644 --- a/include/configs/omap3_evm_common.h +++ b/include/configs/omap3_evm_common.h @@ -87,11 +87,10 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C -#define CONFIG_DRIVER_OMAP34XX_I2C - -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * PISMO support diff --git a/include/configs/omap3_igep00x0.h b/include/configs/omap3_igep00x0.h index ac36ac695..75d7d70d2 100644 --- a/include/configs/omap3_igep00x0.h +++ b/include/configs/omap3_igep00x0.h @@ -124,10 +124,10 @@  #undef CONFIG_CMD_IMLS		/* List all found images	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_I2C_OMAP34XX +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1  /*   * TWL4030 diff --git a/include/configs/omap3_logic.h b/include/configs/omap3_logic.h index 0c096f429..bedd6f9cb 100644 --- a/include/configs/omap3_logic.h +++ b/include/configs/omap3_logic.h @@ -118,12 +118,10 @@  /*   * I2C   */ -#define CONFIG_HARD_I2C -#define CONFIG_DRIVER_OMAP34XX_I2C - -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_mvblx.h b/include/configs/omap3_mvblx.h index 45da2e00b..8d11010f8 100644 --- a/include/configs/omap3_mvblx.h +++ b/include/configs/omap3_mvblx.h @@ -128,11 +128,10 @@  #define CONFIG_CMD_PING  #define CONFIG_CMD_FPGA -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		0 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 -#define CONFIG_I2C_MULTI_BUS		1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_overo.h b/include/configs/omap3_overo.h index 46416946c..84b4aeee2 100644 --- a/include/configs/omap3_overo.h +++ b/include/configs/omap3_overo.h @@ -98,11 +98,10 @@  #define CONFIG_CMD_NET		/* bootp, tftpboot, rarpboot	*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_DRIVER_OMAP34XX_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_pandora.h b/include/configs/omap3_pandora.h index 3cce0de48..eacdfaaa5 100644 --- a/include/configs/omap3_pandora.h +++ b/include/configs/omap3_pandora.h @@ -111,10 +111,10 @@  #undef CONFIG_CMD_NFS		/* NFS support			*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_sdp3430.h b/include/configs/omap3_sdp3430.h index 697a3f386..6f1304dc9 100644 --- a/include/configs/omap3_sdp3430.h +++ b/include/configs/omap3_sdp3430.h @@ -114,10 +114,10 @@  /*   * I2C for power management setup   */ -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /* OMITTED:  single 1 Gbit MT29F1G NAND flash */ diff --git a/include/configs/omap3_zoom1.h b/include/configs/omap3_zoom1.h index 8591f98a8..1dd53fa13 100644 --- a/include/configs/omap3_zoom1.h +++ b/include/configs/omap3_zoom1.h @@ -118,10 +118,10 @@  #undef CONFIG_CMD_NFS		/* NFS support			*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/omap3_zoom2.h b/include/configs/omap3_zoom2.h index cb8c7ec6f..f74974081 100644 --- a/include/configs/omap3_zoom2.h +++ b/include/configs/omap3_zoom2.h @@ -138,10 +138,10 @@  #undef CONFIG_CMD_NFS			/* NFS support			*/  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C			1 -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  /*   * TWL4030 diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h index 4970b13e9..6f41ee771 100644 --- a/include/configs/pcm051.h +++ b/include/configs/pcm051.h @@ -172,11 +172,10 @@  /* I2C Configuration */  #define CONFIG_I2C  #define CONFIG_CMD_I2C -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_DRIVER_OMAP24XX_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP24XX  #define CONFIG_CMD_EEPROM  #define CONFIG_ENV_EEPROM_IS_ON_I2C  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50	/* Main EEPROM */ diff --git a/include/configs/siemens-am33x-common.h b/include/configs/siemens-am33x-common.h index 9eb0a04da..745e3bea5 100644 --- a/include/configs/siemens-am33x-common.h +++ b/include/configs/siemens-am33x-common.h @@ -131,11 +131,10 @@  /* I2C Configuration */  #define CONFIG_I2C  #define CONFIG_CMD_I2C -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_DRIVER_OMAP24XX_I2C - +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	OMAP_I2C_STANDARD +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP24XX  /* Defines for SPL */  #define CONFIG_SPL diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h index 683bc54a2..6112c1b7a 100644 --- a/include/configs/tam3517-common.h +++ b/include/configs/tam3517-common.h @@ -117,14 +117,13 @@  #undef CONFIG_CMD_IMLS  #define CONFIG_SYS_NO_FLASH -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		400000 -#define CONFIG_SYS_I2C_SLAVE		1 +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	400000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX  #define CONFIG_SYS_I2C_EEPROM_ADDR	0x50		/* base address */  #define CONFIG_SYS_I2C_EEPROM_ADDR_LEN	1		/* bytes of address */  #define CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW	0x07 -#define CONFIG_DRIVER_OMAP34XX_I2C -  /*   * Board NAND Info. @@ -369,7 +368,7 @@ struct tam3517_module_info {  #define TAM3517_READ_EEPROM(info, ret) \  do {								\ -	i2c_init(CONFIG_SYS_I2C_SPEED, CONFIG_SYS_I2C_SLAVE);	\ +	i2c_init(CONFIG_SYS_OMAP24_I2C_SPEED, CONFIG_SYS_OMAP24_I2C_SLAVE); \  	if (eeprom_read(CONFIG_SYS_I2C_EEPROM_ADDR, 0,		\  		(void *)info, sizeof(*info)))			\  		ret = 1;					\ diff --git a/include/configs/ti_armv7_common.h b/include/configs/ti_armv7_common.h index 84269ad26..99b60fcf6 100644 --- a/include/configs/ti_armv7_common.h +++ b/include/configs/ti_armv7_common.h @@ -59,12 +59,11 @@  /* I2C IP block */  #define CONFIG_I2C -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_I2C_MULTI_BUS -#define CONFIG_DRIVER_OMAP24XX_I2C  #define CONFIG_CMD_I2C +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP24XX  /* MMC/SD IP block */  #define CONFIG_MMC diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h index d57394e55..afd870762 100644 --- a/include/configs/tricorder.h +++ b/include/configs/tricorder.h @@ -98,11 +98,11 @@  #define CONFIG_DOS_PARTITION  /* I2C */ -#define CONFIG_HARD_I2C -#define CONFIG_SYS_I2C_SPEED		100000 -#define CONFIG_SYS_I2C_SLAVE		1 -#define CONFIG_DRIVER_OMAP34XX_I2C	1 -#define CONFIG_I2C_MULTI_BUS +#define CONFIG_SYS_I2C +#define CONFIG_SYS_OMAP24_I2C_SPEED	100000 +#define CONFIG_SYS_OMAP24_I2C_SLAVE	1 +#define CONFIG_SYS_I2C_OMAP34XX +   /* EEPROM */  #define CONFIG_SYS_I2C_MULTI_EEPROMS |