I2C: adding new "i2c bus" Command to the I2C Subsystem.

With this Command it is possible to add new I2C Busses,
which are behind 1 .. n I2C Muxes. Details see README.

Signed-off-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
Heiko Schocher
2008-10-15 09:39:47 +02:00
committed by Wolfgang Denk
parent c24853644d
commit 67b23a3228
7 changed files with 367 additions and 2 deletions

View File

@ -223,10 +223,23 @@ unsigned int i2c_get_bus_num(void)
int i2c_set_bus_num(unsigned int bus)
{
#if defined(CONFIG_I2C_MUX)
if (bus < CFG_MAX_I2C_BUS) {
i2c_bus_num = bus;
} else {
int ret;
ret = i2x_mux_select_mux(bus);
if (ret == 0)
i2c_bus_num = bus;
else
return ret;
}
#else
if (bus >= CFG_MAX_I2C_BUS)
return -1;
i2c_bus_num = bus;
#endif
return 0;
}