Message ID | EFBFAB0BC299D345A30F813A3C85DA87012537B1@EDPR-EX01.logicpd.com |
---|---|
State | Awaiting Upstream |
Delegated to: | Heiko Schocher |
Headers | show |
Hello Michael, Am 24.09.2013 00:35, schrieb Michael Burr: > (Interface is not quite the same as Phillips PCA9547.) > > Signed-off-by: Michael Burr<michael.burr@logicpd.com> > Cc: Heiko Schocher<hs@denx.de> > Cc: Michal Simek<monstr@monstr.eu> > > --- > drivers/i2c/i2c_core.c | 5 +++++ > include/i2c.h | 2 ++ > 2 files changed, 7 insertions(+) Applied to u-boot-i2c.git Thanks! bye, Heiko
diff --git a/drivers/i2c/i2c_core.c b/drivers/i2c/i2c_core.c index d1072e8..b263562 100644 --- a/drivers/i2c/i2c_core.c +++ b/drivers/i2c/i2c_core.c @@ -138,6 +138,11 @@ static int i2c_mux_set(struct i2c_adapter *adap, int mux_id, int chip, return -1; buf = (uint8_t)((channel & 0x07) | (1 << 3)); break; + case I2C_MUX_PCA9548_ID: + if (channel > 7) + return -1; + buf = (uint8_t)(0x01 << channel); + break; default: printf("%s: wrong mux id: %d\n", __func__, mux_id); return -1; diff --git a/include/i2c.h b/include/i2c.h index 8fd17d1..c1be533 100644 --- a/include/i2c.h +++ b/include/i2c.h @@ -135,6 +135,8 @@ extern struct i2c_bus_hose i2c_bus[]; #define I2C_MUX_PCA9544 {I2C_MUX_PCA9544_ID, "PCA9544A"} #define I2C_MUX_PCA9547_ID 4 #define I2C_MUX_PCA9547 {I2C_MUX_PCA9547_ID, "PCA9547A"} +#define I2C_MUX_PCA9548_ID 5 +#define I2C_MUX_PCA9548 {I2C_MUX_PCA9548_ID, "PCA9548"} #endif #ifndef I2C_SOFT_DECLARATIONS
(Interface is not quite the same as Phillips PCA9547.) Signed-off-by: Michael Burr <michael.burr@logicpd.com> Cc: Heiko Schocher <hs@denx.de> Cc: Michal Simek <monstr@monstr.eu> --- drivers/i2c/i2c_core.c | 5 +++++ include/i2c.h | 2 ++ 2 files changed, 7 insertions(+)