* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
@ 2013-10-22 9:03 Heiko Schocher
2013-10-27 7:30 ` Igor Grinberg
` (2 more replies)
0 siblings, 3 replies; 9+ messages in thread
From: Heiko Schocher @ 2013-10-22 9:03 UTC (permalink / raw)
To: u-boot
- add omap24xx driver to new multibus/multiadpater support
- adapted all config files, which uses this driver
Tested on the am335x based siemens boards rut, dxr2 and pxm2
posted here:
http://patchwork.ozlabs.org/patch/263211/
Signed-off-by: Heiko Schocher <hs@denx.de>
Tested-by: Tom Rini <trini@ti.com>
Cc: Lars Poeschel <poeschel@lemonage.de>
Cc: Steve Sakoman <sakoman@gmail.com>
Cc: Thomas Weber <weber@corscience.de>
Cc: Tom Rix <Tom.Rix@windriver.com>
Cc: Grazvydas Ignotas <notasas@gmail.com>
Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
Cc: Luca Ceresoli <luca.ceresoli@comelit.it>
Cc: Igor Grinberg <grinberg@compulab.co.il>
Cc: Ilya Yanok <yanok@emcraft.com>
Cc: Stefano Babic <sbabic@denx.de>
Cc: Nishanth Menon <nm@ti.com>
Cc: Pali Roh?r <pali.rohar@gmail.com>
Cc: Peter Barada <peter.barada@logicpd.com>
Cc: Nagendra T S <nagendra@mistralsolutions.com>
Cc: Michael Jones <michael.jones@matrix-vision.de>
Cc: Raphael Assenat <raph@8d.com>
---
- changes for v2:
rebased against u-boot-ti 425faf74cd8189c87919f7e72a0101c684ee3b9f
- changes for v3:
rebase against: u-boot-it 901ce27c6f018992b7dd6c08d3c98cf217cc4c96
add siemens boards (rut, dxr2 and pxm2)
- changes for v4:
fix u-boot spl mode
---
README | 13 ++
arch/arm/cpu/armv7/omap-common/clocks-common.c | 3 +-
arch/arm/cpu/armv7/omap-common/u-boot-spl.lds | 4 +
arch/arm/cpu/armv7/omap3/board.c | 2 +-
arch/arm/cpu/armv7/omap3/clock.c | 2 +-
arch/arm/include/asm/arch-am33xx/i2c.h | 6 +-
board/compulab/cm_t35/Makefile | 2 +-
board/compulab/cm_t35/cm_t35.c | 2 +-
board/compulab/cm_t35/eeprom.h | 2 +-
board/logicpd/am3517evm/am3517evm.c | 4 +-
board/overo/overo.c | 2 +-
board/phytec/pcm051/board.c | 4 +-
board/siemens/common/board.c | 4 +-
board/ti/am335x/board.c | 2 +-
board/ti/am3517crane/am3517crane.c | 4 +-
board/ti/evm/evm.c | 4 +-
drivers/i2c/Makefile | 4 +-
drivers/i2c/omap24xx_i2c.c | 172 ++++++++++++++++---------
include/configs/am335x_evm.h | 1 -
include/configs/am3517_crane.h | 8 +-
include/configs/am3517_evm.h | 8 +-
include/configs/cm_t35.h | 8 +-
include/configs/devkit8000.h | 8 +-
include/configs/dig297.h | 8 +-
include/configs/igep00x0.h | 8 +-
include/configs/mcx.h | 8 +-
include/configs/nokia_rx51.h | 8 +-
include/configs/omap3_beagle.h | 9 +-
include/configs/omap3_evm_common.h | 9 +-
include/configs/omap3_logic.h | 10 +-
include/configs/omap3_mvblx.h | 9 +-
include/configs/omap3_overo.h | 9 +-
include/configs/omap3_pandora.h | 8 +-
include/configs/omap3_sdp3430.h | 8 +-
include/configs/omap3_zoom1.h | 8 +-
include/configs/omap3_zoom2.h | 8 +-
include/configs/omap4_common.h | 9 +-
include/configs/pcm051.h | 9 +-
include/configs/siemens-am33x-common.h | 9 +-
include/configs/tam3517-common.h | 11 +-
include/configs/ti_armv7_common.h | 9 +-
include/configs/tricorder.h | 8 +-
42 files changed, 242 insertions(+), 192 deletions(-)
diff --git a/README b/README
index 09662a4..e6e0465 100644
--- a/README
+++ b/README
@@ -2003,6 +2003,19 @@ CBFS (Coreboot Filesystem) support
- CONFIG_SYS_I2C_PPC4XX_CH0 activate hardware channel 0
- CONFIG_SYS_I2C_PPC4XX_CH1 activate hardware channel 1
+ - 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 ab0c568..98c3630 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 5e93b34..989083c 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 7d1f8d9..2922816 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 9f989ff..14fc7e8 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 8bfa53f..8642c8f 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/Makefile b/board/compulab/cm_t35/Makefile
index 6d07947..9014d2a 100644
--- a/board/compulab/cm_t35/Makefile
+++ b/board/compulab/cm_t35/Makefile
@@ -11,7 +11,7 @@ include $(TOPDIR)/config.mk
LIB = $(obj)lib$(BOARD).o
-COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += eeprom.o
+COBJS-$(CONFIG_SYS_I2C_OMAP34XX) += eeprom.o
COBJS-$(CONFIG_LCD) += display.o
COBJS := cm_t35.o leds.o $(COBJS-y)
diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c
index 3caa5be..1dd3647 100644
--- a/board/compulab/cm_t35/cm_t35.c
+++ b/board/compulab/cm_t35/cm_t35.c
@@ -470,7 +470,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/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
index 02ffbb1..a07559d 100644
--- a/board/compulab/cm_t35/eeprom.h
+++ b/board/compulab/cm_t35/eeprom.h
@@ -10,7 +10,7 @@
#ifndef _EEPROM_
#define _EEPROM_
-#ifdef CONFIG_DRIVER_OMAP34XX_I2C
+#ifdef CONFIG_SYS_I2C_OMAP34XX
int cm_t3x_eeprom_read_mac_addr(uchar *buf);
u32 cm_t3x_eeprom_get_board_rev(void);
#else
diff --git a/board/logicpd/am3517evm/am3517evm.c b/board/logicpd/am3517evm/am3517evm.c
index b6c68da..1569905 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 aace42a..9ac35d2 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 dafb1eb..034886a 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 6279c32..32d2ee4 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 c2fc5a6..44a1dea 100644
--- a/board/ti/am335x/board.c
+++ b/board/ti/am335x/board.c
@@ -395,7 +395,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 5eb97ff..a649697 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 c71c218..81dd081 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 df3092e..c2001ea 100644
--- a/drivers/i2c/Makefile
+++ b/drivers/i2c/Makefile
@@ -17,8 +17,6 @@ COBJS-$(CONFIG_I2C_MV) += mv_i2c.o
COBJS-$(CONFIG_I2C_MXC) += mxc_i2c.o
COBJS-$(CONFIG_I2C_MXS) += mxs_i2c.o
COBJS-$(CONFIG_DRIVER_OMAP1510_I2C) += omap1510_i2c.o
-COBJS-$(CONFIG_DRIVER_OMAP24XX_I2C) += omap24xx_i2c.o
-COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += omap24xx_i2c.o
COBJS-$(CONFIG_PCA9564_I2C) += pca9564_i2c.o
COBJS-$(CONFIG_DRIVER_S3C24X0_I2C) += s3c24x0_i2c.o
COBJS-$(CONFIG_TSI108_I2C) += tsi108_i2c.o
@@ -29,6 +27,8 @@ COBJS-$(CONFIG_SYS_I2C) += i2c_core.o
COBJS-$(CONFIG_SYS_I2C_FSL) += fsl_i2c.o
COBJS-$(CONFIG_SYS_I2C_FTI2C010) += fti2c010.o
COBJS-$(CONFIG_SYS_I2C_PPC4XX) += ppc4xx_i2c.o
+COBJS-$(CONFIG_SYS_I2C_OMAP24XX) += omap24xx_i2c.o
+COBJS-$(CONFIG_SYS_I2C_OMAP34XX) += omap24xx_i2c.o
COBJS-$(CONFIG_SYS_I2C_SOFT) += soft_i2c.o
COBJS-$(CONFIG_SYS_I2C_TEGRA) += tegra_i2c.o
COBJS-$(CONFIG_ZYNQ_I2C) += zynq_i2c.o
diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c
index ef38d71..3d38c03 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 c2ba7e3..f35ed6f 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 1fd2508..73207f9 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 6500878..fa44597 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 bc5b66c..c301697 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -140,10 +140,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 c1e996e..9759106 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 08d49fb..2a5574e 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/igep00x0.h b/include/configs/igep00x0.h
index e92bb68..41bf758 100644
--- a/include/configs/igep00x0.h
+++ b/include/configs/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_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 5e27ab2..f197490 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 64db0eb..c307686 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 9fcd50b..3b9225d 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 edf6543..bc7d24e 100644
--- a/include/configs/omap3_evm_common.h
+++ b/include/configs/omap3_evm_common.h
@@ -88,11 +88,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_logic.h b/include/configs/omap3_logic.h
index 42cea01..8e177c0 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 73d5d30..328d8c4 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 88380a4..8344028 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 ee448bb..7cfed8e 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 fc219fa..42384e6 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 a4a739e..86f8daf 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 cb8c7ec..f749740 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/omap4_common.h b/include/configs/omap4_common.h
index e9f2383..97d5a6b 100644
--- a/include/configs/omap4_common.h
+++ b/include/configs/omap4_common.h
@@ -73,11 +73,10 @@
#define CONFIG_ARCH_CPU_INIT
/* 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_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
/* TWL6030 */
#ifndef CONFIG_SPL_BUILD
diff --git a/include/configs/pcm051.h b/include/configs/pcm051.h
index 2fff0be..1f04acc 100644
--- a/include/configs/pcm051.h
+++ b/include/configs/pcm051.h
@@ -173,11 +173,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 5426ee8..03c143d 100644
--- a/include/configs/siemens-am33x-common.h
+++ b/include/configs/siemens-am33x-common.h
@@ -133,11 +133,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 60dd8ff..9e5fe90 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.
@@ -370,7 +369,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 e89e874..72a4ec5 100644
--- a/include/configs/ti_armv7_common.h
+++ b/include/configs/ti_armv7_common.h
@@ -60,12 +60,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 b102739..da3288a 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -80,10 +80,10 @@
#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_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.8.3.1
^ permalink raw reply related [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-22 9:03 [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework Heiko Schocher
@ 2013-10-27 7:30 ` Igor Grinberg
2013-10-28 6:19 ` Heiko Schocher
2013-10-28 9:07 ` Stefano Babic
2013-11-13 6:33 ` [U-Boot] [U-Boot, " Heiko Schocher
2 siblings, 1 reply; 9+ messages in thread
From: Igor Grinberg @ 2013-10-27 7:30 UTC (permalink / raw)
To: u-boot
Hi Heiko,
On 10/22/13 11:03, Heiko Schocher wrote:
> - add omap24xx driver to new multibus/multiadpater support
> - adapted all config files, which uses this driver
>
> Tested on the am335x based siemens boards rut, dxr2 and pxm2
> posted here:
> http://patchwork.ozlabs.org/patch/263211/
>
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Tested-by: Tom Rini <trini@ti.com>
> Cc: Lars Poeschel <poeschel@lemonage.de>
> Cc: Steve Sakoman <sakoman@gmail.com>
> Cc: Thomas Weber <weber@corscience.de>
> Cc: Tom Rix <Tom.Rix@windriver.com>
> Cc: Grazvydas Ignotas <notasas@gmail.com>
> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
> Cc: Luca Ceresoli <luca.ceresoli@comelit.it>
> Cc: Igor Grinberg <grinberg@compulab.co.il>
> Cc: Ilya Yanok <yanok@emcraft.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Pali Roh?r <pali.rohar@gmail.com>
> Cc: Peter Barada <peter.barada@logicpd.com>
> Cc: Nagendra T S <nagendra@mistralsolutions.com>
> Cc: Michael Jones <michael.jones@matrix-vision.de>
> Cc: Raphael Assenat <raph@8d.com>
[...]
> board/compulab/cm_t35/Makefile | 2 +-
> board/compulab/cm_t35/cm_t35.c | 2 +-
> board/compulab/cm_t35/eeprom.h | 2 +-
[...]
> include/configs/cm_t35.h | 8 +-
[...]
> diff --git a/board/compulab/cm_t35/Makefile b/board/compulab/cm_t35/Makefile
> index 6d07947..9014d2a 100644
> --- a/board/compulab/cm_t35/Makefile
> +++ b/board/compulab/cm_t35/Makefile
> @@ -11,7 +11,7 @@ include $(TOPDIR)/config.mk
>
> LIB = $(obj)lib$(BOARD).o
>
> -COBJS-$(CONFIG_DRIVER_OMAP34XX_I2C) += eeprom.o
> +COBJS-$(CONFIG_SYS_I2C_OMAP34XX) += eeprom.o
> COBJS-$(CONFIG_LCD) += display.o
>
> COBJS := cm_t35.o leds.o $(COBJS-y)
> diff --git a/board/compulab/cm_t35/cm_t35.c b/board/compulab/cm_t35/cm_t35.c
> index 3caa5be..1dd3647 100644
> --- a/board/compulab/cm_t35/cm_t35.c
> +++ b/board/compulab/cm_t35/cm_t35.c
> @@ -470,7 +470,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/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
> index 02ffbb1..a07559d 100644
> --- a/board/compulab/cm_t35/eeprom.h
> +++ b/board/compulab/cm_t35/eeprom.h
> @@ -10,7 +10,7 @@
> #ifndef _EEPROM_
> #define _EEPROM_
>
> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C
> +#ifdef CONFIG_SYS_I2C_OMAP34XX
> int cm_t3x_eeprom_read_mac_addr(uchar *buf);
> u32 cm_t3x_eeprom_get_board_rev(void);
> #else
Please, rebase on top of:
http://patchwork.ozlabs.org/patch/275284/
which should be applied any time soon.
Otherwise,
Acked-by: Igor Grinberg <grinberg@compulab.co.il>
[...]
> diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
> index bc5b66c..c301697 100644
> --- a/include/configs/cm_t35.h
> +++ b/include/configs/cm_t35.h
> @@ -140,10 +140,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
[...]
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-27 7:30 ` Igor Grinberg
@ 2013-10-28 6:19 ` Heiko Schocher
2013-10-29 11:07 ` Igor Grinberg
0 siblings, 1 reply; 9+ messages in thread
From: Heiko Schocher @ 2013-10-28 6:19 UTC (permalink / raw)
To: u-boot
Hello Igor,
Am 27.10.2013 08:30, schrieb Igor Grinberg:
> Hi Heiko,
>
> On 10/22/13 11:03, Heiko Schocher wrote:
>> - add omap24xx driver to new multibus/multiadpater support
>> - adapted all config files, which uses this driver
>>
>> Tested on the am335x based siemens boards rut, dxr2 and pxm2
>> posted here:
>> http://patchwork.ozlabs.org/patch/263211/
>>
>> Signed-off-by: Heiko Schocher<hs@denx.de>
>> Tested-by: Tom Rini<trini@ti.com>
>> Cc: Lars Poeschel<poeschel@lemonage.de>
>> Cc: Steve Sakoman<sakoman@gmail.com>
>> Cc: Thomas Weber<weber@corscience.de>
>> Cc: Tom Rix<Tom.Rix@windriver.com>
>> Cc: Grazvydas Ignotas<notasas@gmail.com>
>> Cc: Enric Balletbo i Serra<eballetbo@iseebcn.com>
>> Cc: Luca Ceresoli<luca.ceresoli@comelit.it>
>> Cc: Igor Grinberg<grinberg@compulab.co.il>
>> Cc: Ilya Yanok<yanok@emcraft.com>
>> Cc: Stefano Babic<sbabic@denx.de>
>> Cc: Nishanth Menon<nm@ti.com>
>> Cc: Pali Roh?r<pali.rohar@gmail.com>
>> Cc: Peter Barada<peter.barada@logicpd.com>
>> Cc: Nagendra T S<nagendra@mistralsolutions.com>
>> Cc: Michael Jones<michael.jones@matrix-vision.de>
>> Cc: Raphael Assenat<raph@8d.com>
>
> [...]
[...]
>> diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
>> index 02ffbb1..a07559d 100644
>> --- a/board/compulab/cm_t35/eeprom.h
>> +++ b/board/compulab/cm_t35/eeprom.h
>> @@ -10,7 +10,7 @@
>> #ifndef _EEPROM_
>> #define _EEPROM_
>>
>> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C
>> +#ifdef CONFIG_SYS_I2C_OMAP34XX
>> int cm_t3x_eeprom_read_mac_addr(uchar *buf);
>> u32 cm_t3x_eeprom_get_board_rev(void);
>> #else
>
> Please, rebase on top of:
> http://patchwork.ozlabs.org/patch/275284/
> which should be applied any time soon.
>
> Otherwise,
> Acked-by: Igor Grinberg<grinberg@compulab.co.il>
Hmm.. I cannot see, that your patch is accepted ... but I looked in it,
and it looks good to me. So, I propose to add this patch to the i2c tree,
so I do the necessary changes in my patch when applying it to the
i2c tree (as they are trivial changes) ...
@Tom: Is this OK for you?
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-22 9:03 [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework Heiko Schocher
2013-10-27 7:30 ` Igor Grinberg
@ 2013-10-28 9:07 ` Stefano Babic
2013-11-13 6:33 ` [U-Boot] [U-Boot, " Heiko Schocher
2 siblings, 0 replies; 9+ messages in thread
From: Stefano Babic @ 2013-10-28 9:07 UTC (permalink / raw)
To: u-boot
On 22/10/2013 11:03, Heiko Schocher wrote:
> - add omap24xx driver to new multibus/multiadpater support
> - adapted all config files, which uses this driver
>
> Tested on the am335x based siemens boards rut, dxr2 and pxm2
> posted here:
> http://patchwork.ozlabs.org/patch/263211/
>
> Signed-off-by: Heiko Schocher <hs@denx.de>
> Tested-by: Tom Rini <trini@ti.com>
> Cc: Lars Poeschel <poeschel@lemonage.de>
> Cc: Steve Sakoman <sakoman@gmail.com>
> Cc: Thomas Weber <weber@corscience.de>
> Cc: Tom Rix <Tom.Rix@windriver.com>
> Cc: Grazvydas Ignotas <notasas@gmail.com>
> Cc: Enric Balletbo i Serra <eballetbo@iseebcn.com>
> Cc: Luca Ceresoli <luca.ceresoli@comelit.it>
> Cc: Igor Grinberg <grinberg@compulab.co.il>
> Cc: Ilya Yanok <yanok@emcraft.com>
> Cc: Stefano Babic <sbabic@denx.de>
> Cc: Nishanth Menon <nm@ti.com>
> Cc: Pali Roh?r <pali.rohar@gmail.com>
> Cc: Peter Barada <peter.barada@logicpd.com>
> Cc: Nagendra T S <nagendra@mistralsolutions.com>
> Cc: Michael Jones <michael.jones@matrix-vision.de>
> Cc: Raphael Assenat <raph@8d.com>
>
> ---
Acked-by: Stefano Babic <sbabic@denx.de>
Best regards,
Stefano Babic
--
=====================================================================
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-53 Fax: +49-8142-66989-80 Email: sbabic at denx.de
=====================================================================
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-28 6:19 ` Heiko Schocher
@ 2013-10-29 11:07 ` Igor Grinberg
2013-10-29 11:30 ` Heiko Schocher
0 siblings, 1 reply; 9+ messages in thread
From: Igor Grinberg @ 2013-10-29 11:07 UTC (permalink / raw)
To: u-boot
On 10/28/13 08:19, Heiko Schocher wrote:
> Hello Igor,
>
> Am 27.10.2013 08:30, schrieb Igor Grinberg:
>> Hi Heiko,
>>
>> On 10/22/13 11:03, Heiko Schocher wrote:
>>> - add omap24xx driver to new multibus/multiadpater support
>>> - adapted all config files, which uses this driver
>>>
>>> Tested on the am335x based siemens boards rut, dxr2 and pxm2
>>> posted here:
>>> http://patchwork.ozlabs.org/patch/263211/
>>>
>>> Signed-off-by: Heiko Schocher<hs@denx.de>
>>> Tested-by: Tom Rini<trini@ti.com>
>>> Cc: Lars Poeschel<poeschel@lemonage.de>
>>> Cc: Steve Sakoman<sakoman@gmail.com>
>>> Cc: Thomas Weber<weber@corscience.de>
>>> Cc: Tom Rix<Tom.Rix@windriver.com>
>>> Cc: Grazvydas Ignotas<notasas@gmail.com>
>>> Cc: Enric Balletbo i Serra<eballetbo@iseebcn.com>
>>> Cc: Luca Ceresoli<luca.ceresoli@comelit.it>
>>> Cc: Igor Grinberg<grinberg@compulab.co.il>
>>> Cc: Ilya Yanok<yanok@emcraft.com>
>>> Cc: Stefano Babic<sbabic@denx.de>
>>> Cc: Nishanth Menon<nm@ti.com>
>>> Cc: Pali Roh?r<pali.rohar@gmail.com>
>>> Cc: Peter Barada<peter.barada@logicpd.com>
>>> Cc: Nagendra T S<nagendra@mistralsolutions.com>
>>> Cc: Michael Jones<michael.jones@matrix-vision.de>
>>> Cc: Raphael Assenat<raph@8d.com>
>>
>> [...]
> [...]
>
>>> diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
>>> index 02ffbb1..a07559d 100644
>>> --- a/board/compulab/cm_t35/eeprom.h
>>> +++ b/board/compulab/cm_t35/eeprom.h
>>> @@ -10,7 +10,7 @@
>>> #ifndef _EEPROM_
>>> #define _EEPROM_
>>>
>>> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C
>>> +#ifdef CONFIG_SYS_I2C_OMAP34XX
>>> int cm_t3x_eeprom_read_mac_addr(uchar *buf);
>>> u32 cm_t3x_eeprom_get_board_rev(void);
>>> #else
>>
>> Please, rebase on top of:
>> http://patchwork.ozlabs.org/patch/275284/
>> which should be applied any time soon.
>>
>> Otherwise,
>> Acked-by: Igor Grinberg<grinberg@compulab.co.il>
>
> Hmm.. I cannot see, that your patch is accepted ... but I looked in it,
> and it looks good to me. So, I propose to add this patch to the i2c tree,
> so I do the necessary changes in my patch when applying it to the
> i2c tree (as they are trivial changes) ...
Well, I have no problem with that, but we need to take into account
that there are several more patches (unrelated to i2c) on the mailing
list waiting for approval/apply and depend on my series.
>
> @Tom: Is this OK for you?
I think, it would be better to apply my series to u-boot-ti and you can
pull from it to the i2c tree?
--
Regards,
Igor.
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-29 11:07 ` Igor Grinberg
@ 2013-10-29 11:30 ` Heiko Schocher
2013-11-04 6:56 ` Heiko Schocher
0 siblings, 1 reply; 9+ messages in thread
From: Heiko Schocher @ 2013-10-29 11:30 UTC (permalink / raw)
To: u-boot
Hello Igor,
Am 29.10.2013 12:07, schrieb Igor Grinberg:
> On 10/28/13 08:19, Heiko Schocher wrote:
>> Hello Igor,
>>
>> Am 27.10.2013 08:30, schrieb Igor Grinberg:
>>> Hi Heiko,
>>>
>>> On 10/22/13 11:03, Heiko Schocher wrote:
>>>> - add omap24xx driver to new multibus/multiadpater support
>>>> - adapted all config files, which uses this driver
>>>>
>>>> Tested on the am335x based siemens boards rut, dxr2 and pxm2
>>>> posted here:
>>>> http://patchwork.ozlabs.org/patch/263211/
>>>>
>>>> Signed-off-by: Heiko Schocher<hs@denx.de>
>>>> Tested-by: Tom Rini<trini@ti.com>
>>>> Cc: Lars Poeschel<poeschel@lemonage.de>
>>>> Cc: Steve Sakoman<sakoman@gmail.com>
>>>> Cc: Thomas Weber<weber@corscience.de>
>>>> Cc: Tom Rix<Tom.Rix@windriver.com>
>>>> Cc: Grazvydas Ignotas<notasas@gmail.com>
>>>> Cc: Enric Balletbo i Serra<eballetbo@iseebcn.com>
>>>> Cc: Luca Ceresoli<luca.ceresoli@comelit.it>
>>>> Cc: Igor Grinberg<grinberg@compulab.co.il>
>>>> Cc: Ilya Yanok<yanok@emcraft.com>
>>>> Cc: Stefano Babic<sbabic@denx.de>
>>>> Cc: Nishanth Menon<nm@ti.com>
>>>> Cc: Pali Roh?r<pali.rohar@gmail.com>
>>>> Cc: Peter Barada<peter.barada@logicpd.com>
>>>> Cc: Nagendra T S<nagendra@mistralsolutions.com>
>>>> Cc: Michael Jones<michael.jones@matrix-vision.de>
>>>> Cc: Raphael Assenat<raph@8d.com>
>>>
>>> [...]
>> [...]
>>
>>>> diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
>>>> index 02ffbb1..a07559d 100644
>>>> --- a/board/compulab/cm_t35/eeprom.h
>>>> +++ b/board/compulab/cm_t35/eeprom.h
>>>> @@ -10,7 +10,7 @@
>>>> #ifndef _EEPROM_
>>>> #define _EEPROM_
>>>>
>>>> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C
>>>> +#ifdef CONFIG_SYS_I2C_OMAP34XX
>>>> int cm_t3x_eeprom_read_mac_addr(uchar *buf);
>>>> u32 cm_t3x_eeprom_get_board_rev(void);
>>>> #else
>>>
>>> Please, rebase on top of:
>>> http://patchwork.ozlabs.org/patch/275284/
>>> which should be applied any time soon.
>>>
>>> Otherwise,
>>> Acked-by: Igor Grinberg<grinberg@compulab.co.il>
>>
>> Hmm.. I cannot see, that your patch is accepted ... but I looked in it,
>> and it looks good to me. So, I propose to add this patch to the i2c tree,
>> so I do the necessary changes in my patch when applying it to the
>> i2c tree (as they are trivial changes) ...
>
> Well, I have no problem with that, but we need to take into account
> that there are several more patches (unrelated to i2c) on the mailing
> list waiting for approval/apply and depend on my series.
Ok.
>> @Tom: Is this OK for you?
>
> I think, it would be better to apply my series to u-boot-ti and you can
> pull from it to the i2c tree?
Hmm.. u-boot-i2c is based on u-boot.git not on u-boot-ti, and I did
not want to change this. I can of course rebase my patch against u-boot-ti
when Tom added your patch to u-boot-ti and resend it, and tom pick up my
patch ...
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-29 11:30 ` Heiko Schocher
@ 2013-11-04 6:56 ` Heiko Schocher
2013-11-04 13:39 ` Tom Rini
0 siblings, 1 reply; 9+ messages in thread
From: Heiko Schocher @ 2013-11-04 6:56 UTC (permalink / raw)
To: u-boot
Hello Tom,
Am 29.10.2013 12:30, schrieb Heiko Schocher:
> Hello Igor,
>
> Am 29.10.2013 12:07, schrieb Igor Grinberg:
>> On 10/28/13 08:19, Heiko Schocher wrote:
>>> Hello Igor,
>>>
>>> Am 27.10.2013 08:30, schrieb Igor Grinberg:
>>>> Hi Heiko,
>>>>
>>>> On 10/22/13 11:03, Heiko Schocher wrote:
>>>>> - add omap24xx driver to new multibus/multiadpater support
>>>>> - adapted all config files, which uses this driver
>>>>>
>>>>> Tested on the am335x based siemens boards rut, dxr2 and pxm2
>>>>> posted here:
>>>>> http://patchwork.ozlabs.org/patch/263211/
>>>>>
>>>>> Signed-off-by: Heiko Schocher<hs@denx.de>
>>>>> Tested-by: Tom Rini<trini@ti.com>
>>>>> Cc: Lars Poeschel<poeschel@lemonage.de>
>>>>> Cc: Steve Sakoman<sakoman@gmail.com>
>>>>> Cc: Thomas Weber<weber@corscience.de>
>>>>> Cc: Tom Rix<Tom.Rix@windriver.com>
>>>>> Cc: Grazvydas Ignotas<notasas@gmail.com>
>>>>> Cc: Enric Balletbo i Serra<eballetbo@iseebcn.com>
>>>>> Cc: Luca Ceresoli<luca.ceresoli@comelit.it>
>>>>> Cc: Igor Grinberg<grinberg@compulab.co.il>
>>>>> Cc: Ilya Yanok<yanok@emcraft.com>
>>>>> Cc: Stefano Babic<sbabic@denx.de>
>>>>> Cc: Nishanth Menon<nm@ti.com>
>>>>> Cc: Pali Roh?r<pali.rohar@gmail.com>
>>>>> Cc: Peter Barada<peter.barada@logicpd.com>
>>>>> Cc: Nagendra T S<nagendra@mistralsolutions.com>
>>>>> Cc: Michael Jones<michael.jones@matrix-vision.de>
>>>>> Cc: Raphael Assenat<raph@8d.com>
>>>>
>>>> [...]
>>> [...]
>>>
>>>>> diff --git a/board/compulab/cm_t35/eeprom.h b/board/compulab/cm_t35/eeprom.h
>>>>> index 02ffbb1..a07559d 100644
>>>>> --- a/board/compulab/cm_t35/eeprom.h
>>>>> +++ b/board/compulab/cm_t35/eeprom.h
>>>>> @@ -10,7 +10,7 @@
>>>>> #ifndef _EEPROM_
>>>>> #define _EEPROM_
>>>>>
>>>>> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C
>>>>> +#ifdef CONFIG_SYS_I2C_OMAP34XX
>>>>> int cm_t3x_eeprom_read_mac_addr(uchar *buf);
>>>>> u32 cm_t3x_eeprom_get_board_rev(void);
>>>>> #else
>>>>
>>>> Please, rebase on top of:
>>>> http://patchwork.ozlabs.org/patch/275284/
>>>> which should be applied any time soon.
>>>>
>>>> Otherwise,
>>>> Acked-by: Igor Grinberg<grinberg@compulab.co.il>
>>>
>>> Hmm.. I cannot see, that your patch is accepted ... but I looked in it,
>>> and it looks good to me. So, I propose to add this patch to the i2c tree,
>>> so I do the necessary changes in my patch when applying it to the
>>> i2c tree (as they are trivial changes) ...
>>
>> Well, I have no problem with that, but we need to take into account
>> that there are several more patches (unrelated to i2c) on the mailing
>> list waiting for approval/apply and depend on my series.
>
> Ok.
>
>>> @Tom: Is this OK for you?
>>
>> I think, it would be better to apply my series to u-boot-ti and you can
>> pull from it to the i2c tree?
>
> Hmm.. u-boot-i2c is based on u-boot.git not on u-boot-ti, and I did
> not want to change this. I can of course rebase my patch against u-boot-ti
> when Tom added your patch to u-boot-ti and resend it, and tom pick up my
> patch ...
Tom, what do you think?
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-11-04 6:56 ` Heiko Schocher
@ 2013-11-04 13:39 ` Tom Rini
0 siblings, 0 replies; 9+ messages in thread
From: Tom Rini @ 2013-11-04 13:39 UTC (permalink / raw)
To: u-boot
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
On 11/04/2013 01:56 AM, Heiko Schocher wrote:
> Hello Tom,
>
> Am 29.10.2013 12:30, schrieb Heiko Schocher:
>> Hello Igor,
>>
>> Am 29.10.2013 12:07, schrieb Igor Grinberg:
>>> On 10/28/13 08:19, Heiko Schocher wrote:
>>>> Hello Igor,
>>>>
>>>> Am 27.10.2013 08:30, schrieb Igor Grinberg:
>>>>> Hi Heiko,
>>>>>
>>>>> On 10/22/13 11:03, Heiko Schocher wrote:
>>>>>> - add omap24xx driver to new multibus/multiadpater
>>>>>> support - adapted all config files, which uses this
>>>>>> driver
>>>>>>
>>>>>> Tested on the am335x based siemens boards rut, dxr2 and
>>>>>> pxm2 posted here:
>>>>>> http://patchwork.ozlabs.org/patch/263211/
>>>>>>
>>>>>> Signed-off-by: Heiko Schocher<hs@denx.de> Tested-by: Tom
>>>>>> Rini<trini@ti.com> Cc: Lars
>>>>>> Poeschel<poeschel@lemonage.de> Cc: Steve
>>>>>> Sakoman<sakoman@gmail.com> Cc: Thomas
>>>>>> Weber<weber@corscience.de> Cc: Tom
>>>>>> Rix<Tom.Rix@windriver.com> Cc: Grazvydas
>>>>>> Ignotas<notasas@gmail.com> Cc: Enric Balletbo i
>>>>>> Serra<eballetbo@iseebcn.com> Cc: Luca
>>>>>> Ceresoli<luca.ceresoli@comelit.it> Cc: Igor
>>>>>> Grinberg<grinberg@compulab.co.il> Cc: Ilya
>>>>>> Yanok<yanok@emcraft.com> Cc: Stefano
>>>>>> Babic<sbabic@denx.de> Cc: Nishanth Menon<nm@ti.com> Cc:
>>>>>> Pali Roh?r<pali.rohar@gmail.com> Cc: Peter
>>>>>> Barada<peter.barada@logicpd.com> Cc: Nagendra T
>>>>>> S<nagendra@mistralsolutions.com> Cc: Michael
>>>>>> Jones<michael.jones@matrix-vision.de> Cc: Raphael
>>>>>> Assenat<raph@8d.com>
>>>>>
>>>>> [...]
>>>> [...]
>>>>
>>>>>> diff --git a/board/compulab/cm_t35/eeprom.h
>>>>>> b/board/compulab/cm_t35/eeprom.h index 02ffbb1..a07559d
>>>>>> 100644 --- a/board/compulab/cm_t35/eeprom.h +++
>>>>>> b/board/compulab/cm_t35/eeprom.h @@ -10,7 +10,7 @@
>>>>>> #ifndef _EEPROM_ #define _EEPROM_
>>>>>>
>>>>>> -#ifdef CONFIG_DRIVER_OMAP34XX_I2C +#ifdef
>>>>>> CONFIG_SYS_I2C_OMAP34XX int
>>>>>> cm_t3x_eeprom_read_mac_addr(uchar *buf); u32
>>>>>> cm_t3x_eeprom_get_board_rev(void); #else
>>>>>
>>>>> Please, rebase on top of:
>>>>> http://patchwork.ozlabs.org/patch/275284/ which should be
>>>>> applied any time soon.
>>>>>
>>>>> Otherwise, Acked-by: Igor
>>>>> Grinberg<grinberg@compulab.co.il>
>>>>
>>>> Hmm.. I cannot see, that your patch is accepted ... but I
>>>> looked in it, and it looks good to me. So, I propose to add
>>>> this patch to the i2c tree, so I do the necessary changes in
>>>> my patch when applying it to the i2c tree (as they are
>>>> trivial changes) ...
>>>
>>> Well, I have no problem with that, but we need to take into
>>> account that there are several more patches (unrelated to i2c)
>>> on the mailing list waiting for approval/apply and depend on my
>>> series.
>>
>> Ok.
>>
>>>> @Tom: Is this OK for you?
>>>
>>> I think, it would be better to apply my series to u-boot-ti and
>>> you can pull from it to the i2c tree?
>>
>> Hmm.. u-boot-i2c is based on u-boot.git not on u-boot-ti, and I
>> did not want to change this. I can of course rebase my patch
>> against u-boot-ti when Tom added your patch to u-boot-ti and
>> resend it, and tom pick up my patch ...
>
> Tom, what do you think?
You should keep your tree based on u-boot/master. I actually grabbed
Igor's patches Friday for u-boot-ti but didn't get a chance to send
out replies to everything I picked up before packing it up for the
weekend.
- --
Tom
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/
iQIcBAEBAgAGBQJSd6OQAAoJENk4IS6UOR1WQA8P/3vRW0UDmLNmKi9N4BpqqPsh
ZBeO2zbsnsLcUvRO/aeQD92cTY1c4WljPj7rFcutWmOwODGzG1CGvDnlcSaV/ENG
qjsn6mbM9zZm/HjNtP/bDPlvhVsKhbO42MMQL6jX+9F5ZdsQewQRAG0QhNTbejFo
cswtmM4SIFax5xVR+LJzqrX0vMdnLf+4Qy5jBJ7j14f/WV0Z+qme7t92xFvQC1ts
qSZkpSsGOC6ZhgdWkK2PXUh1mW+9jJ6senGIS0UV/87kDjv3iIl+CeD2eVxX+3wW
4kqL23HdR1wZnv7trS9Sn9p7oeJv6k8PJQaZoC9ZC/CFfypoA5D9L6FidWRjuOYB
bRXFmflHMls8dMwyosHMsRaIlVto1caHXhPH+z3I3xAQl3e/Ax8y5JrEsh5OABKQ
ZEo9aamL4YPuOklAHfd+Gtnn+kgbyzyKYRLrFljxT0g3lAi5UkFeYYRYLMnMOW23
ZQX6K998KYUsdJwi2caMnxmzrpmlTHZp+VfSxouzW+WACmYcJPfOPeUMMI8L29nR
89r7ODjkI93NrbS5pt8rWq3XXYwnVbBZHCBfu5cdw0ytOKedbaIduk4bjvU7HvAj
XecI95It00ze7mhFwsvlSe3K/G2FlRIywjHQpXCDam3rOF7fDesCHbF6n6ByEfnQ
WH6I+L3z1GeVYdAFBTRv
=96H9
-----END PGP SIGNATURE-----
^ permalink raw reply [flat|nested] 9+ messages in thread
* [U-Boot] [U-Boot, v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework
2013-10-22 9:03 [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework Heiko Schocher
2013-10-27 7:30 ` Igor Grinberg
2013-10-28 9:07 ` Stefano Babic
@ 2013-11-13 6:33 ` Heiko Schocher
2 siblings, 0 replies; 9+ messages in thread
From: Heiko Schocher @ 2013-11-13 6:33 UTC (permalink / raw)
To: u-boot
Hello Heiko,
Am 22.10.2013 11:03, schrieb Heiko Schocher:
> - add omap24xx driver to new multibus/multiadpater support
> - adapted all config files, which uses this driver
>
> Tested on the am335x based siemens boards rut, dxr2 and pxm2
> posted here:
> http://patchwork.ozlabs.org/patch/263211/
>
> Signed-off-by: Heiko Schocher<hs@denx.de>
> Tested-by: Tom Rini<trini@ti.com>
> Cc: Lars Poeschel<poeschel@lemonage.de>
> Cc: Steve Sakoman<sakoman@gmail.com>
> Cc: Thomas Weber<weber@corscience.de>
> Cc: Tom Rix<Tom.Rix@windriver.com>
> Cc: Grazvydas Ignotas<notasas@gmail.com>
> Cc: Enric Balletbo i Serra<eballetbo@iseebcn.com>
> Cc: Luca Ceresoli<luca.ceresoli@comelit.it>
> Cc: Igor Grinberg<grinberg@compulab.co.il>
> Cc: Ilya Yanok<yanok@emcraft.com>
> Cc: Stefano Babic<sbabic@denx.de>
> Cc: Nishanth Menon<nm@ti.com>
> Cc: Pali Roh?r<pali.rohar@gmail.com>
> Cc: Peter Barada<peter.barada@logicpd.com>
> Cc: Nagendra T S<nagendra@mistralsolutions.com>
> Cc: Michael Jones<michael.jones@matrix-vision.de>
> Cc: Raphael Assenat<raph@8d.com>
> Acked-by: Igor Grinberg<grinberg@compulab.co.il>
> Acked-by: Stefano Babic<sbabic@denx.de>
Applied to u-boot-i2c.git, after fixing some merge conflicts.
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2013-11-13 6:33 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-10-22 9:03 [U-Boot] [PATCH v4] i2c, omap24xx: convert driver to new mutlibus/mutliadapter framework Heiko Schocher
2013-10-27 7:30 ` Igor Grinberg
2013-10-28 6:19 ` Heiko Schocher
2013-10-29 11:07 ` Igor Grinberg
2013-10-29 11:30 ` Heiko Schocher
2013-11-04 6:56 ` Heiko Schocher
2013-11-04 13:39 ` Tom Rini
2013-10-28 9:07 ` Stefano Babic
2013-11-13 6:33 ` [U-Boot] [U-Boot, " Heiko Schocher
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.