Hi, -- a/arch/arm/include/asm/arch-omap4/cpu.h > +++ b/arch/arm/include/asm/arch-omap4/cpu.h > @@ -138,6 +138,7 @@ struct watchdog { > #define I2C_BASE1 (OMAP44XX_L4_PER_BASE + 0x70000) > #define I2C_BASE2 (OMAP44XX_L4_PER_BASE + 0x72000) > #define I2C_BASE3 (OMAP44XX_L4_PER_BASE + 0x60000) > +#define I2C_BASE4 (OMAP44XX_L4_PER_BASE + 0x350000) > > /* MUSB base */ > #define MUSB_BASE (OMAP44XX_L4_CORE_BASE + 0xAB000) > diff --git a/arch/arm/include/asm/arch-omap4/i2c.h > b/arch/arm/include/asm/arch-omap4/i2c.h > index a91b4c2..02ee2f8 100644 > --- a/arch/arm/include/asm/arch-omap4/i2c.h > +++ b/arch/arm/include/asm/arch-omap4/i2c.h > @@ -23,7 +23,7 @@ > #ifndef _OMAP4_I2C_H_ > #define _OMAP4_I2C_H_ > > -#define I2C_BUS_MAX 3 > +#define I2C_BUS_MAX 4 > #define I2C_DEFAULT_BASE I2C_BASE1 > > struct i2c { > diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c > index 81193b0..df8ab92 100644 > --- a/drivers/i2c/omap24xx_i2c.c > +++ b/drivers/i2c/omap24xx_i2c.c > @@ -448,6 +448,14 @@ int i2c_set_bus_num(unsigned int bus) > return -1; > } > > +#if I2C_BUS_MAX == 4 > + if (bus == 3) > + i2c_base = (struct i2c *)I2C_BASE4; > + else > + if (bus == 2) > + i2c_base = (struct i2c *)I2C_BASE3; > + else > +#endif
How about having a const array of bases and directly index from that than having #ifdefs and if checks ?? Thanks, Sricharan _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot