i2c: Zynq: Support for TI PCA9548 bus multiplexer
(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>
This commit is contained in:
parent
b089d039b1
commit
e66587495d
2 changed files with 7 additions and 0 deletions
|
@ -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;
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue