i2c: muxes: pca954x: support PCA9543 I2C switch

The PCA9543 is a 2-channel I2C switch.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Heiko Schocher <hs@denx.de>
Acked-by: Michal Simek <michal.simek@xilinx.com>
Reviewed-by: Heiko Schocher<hs@denx.de>
This commit is contained in:
Luca Ceresoli 2019-04-09 08:57:43 +02:00 committed by Heiko Schocher
parent 5995cdb167
commit 9985b74bf6
2 changed files with 8 additions and 1 deletions

View File

@ -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"

View File

@ -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 },