
On 09. 04. 19 8:57, Luca Ceresoli wrote:
The PCA9543 is a 2-channel I2C switch.
Signed-off-by: Luca Ceresoli luca@lucaceresoli.net Reviewed-by: Heiko Schocher hs@denx.de
Changes v1 -> v2:
- rebase on current tree
drivers/i2c/muxes/Kconfig | 3 ++- drivers/i2c/muxes/pca954x.c | 6 ++++++ 2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig index 4a601c88b78f..68f15261be77 100644 --- a/drivers/i2c/muxes/Kconfig +++ b/drivers/i2c/muxes/Kconfig @@ -33,7 +33,8 @@ config I2C_MUX_PCA954x devices. It is x width I2C multiplexer which enables to partitioning I2C bus and connect multiple devices with the same address to the same I2C controller where driver handles proper routing to target i2c
device. Supported chips are PCA9544, PCA9547, PCA9548 and PCA9646.
device. Supported chips are PCA9543, PCA9544, PCA9547, PCA9548 and
PCA9646.
config I2C_MUX_GPIO tristate "GPIO-based I2C multiplexer" diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c index 5669753ce14d..a630ce991d04 100644 --- a/drivers/i2c/muxes/pca954x.c +++ b/drivers/i2c/muxes/pca954x.c @@ -15,6 +15,7 @@ DECLARE_GLOBAL_DATA_PTR;
enum pca_type {
- PCA9543, PCA9544, PCA9547, PCA9548,
@@ -37,6 +38,10 @@ struct pca954x_priv { };
static const struct chip_desc chips[] = {
- [PCA9543] = {
.muxtype = pca954x_isswi,
.width = 2,
- }, [PCA9544] = { .enable = 0x4, .muxtype = pca954x_ismux,
@@ -87,6 +92,7 @@ static const struct i2c_mux_ops pca954x_ops = { };
static const struct udevice_id pca954x_ids[] = {
- { .compatible = "nxp,pca9543", .data = PCA9543 }, { .compatible = "nxp,pca9544", .data = PCA9544 }, { .compatible = "nxp,pca9547", .data = PCA9547 }, { .compatible = "nxp,pca9548", .data = PCA9548 },
Acked-by: Michal Simek michal.simek@xilinx.com
Thanks, Michal