mirror of
https://xff.cz/git/u-boot/
synced 2025-09-02 01:02:19 +02:00
i2c: muxes: pca954x: add PCA9546 variant
This adds the PCA9546 4-channel i2c bus switch. Signed-off-by: Chris Packham <judge.packham@gmail.com> Reviewed-by: Luca Ceresoli <luca@lucaceresoli.net> Reviewed-by: Heiko Schocher <hs@denx.de>
This commit is contained in:
committed by
Heiko Schocher
parent
8d5d3bcf3c
commit
0b1d7b7271
@@ -33,8 +33,8 @@ config I2C_MUX_PCA954x
|
|||||||
devices. It is x width I2C multiplexer which enables to partitioning
|
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 bus and connect multiple devices with the same address to the same
|
||||||
I2C controller where driver handles proper routing to target i2c
|
I2C controller where driver handles proper routing to target i2c
|
||||||
device. Supported chips are PCA9543, PCA9544, PCA9547, PCA9548 and
|
device. Supported chips are PCA9543, PCA9544, PCA9546, PCA9547,
|
||||||
PCA9646.
|
PCA9548 and PCA9646.
|
||||||
|
|
||||||
config I2C_MUX_GPIO
|
config I2C_MUX_GPIO
|
||||||
tristate "GPIO-based I2C multiplexer"
|
tristate "GPIO-based I2C multiplexer"
|
||||||
|
@@ -18,6 +18,7 @@ DECLARE_GLOBAL_DATA_PTR;
|
|||||||
enum pca_type {
|
enum pca_type {
|
||||||
PCA9543,
|
PCA9543,
|
||||||
PCA9544,
|
PCA9544,
|
||||||
|
PCA9546,
|
||||||
PCA9547,
|
PCA9547,
|
||||||
PCA9548,
|
PCA9548,
|
||||||
PCA9646
|
PCA9646
|
||||||
@@ -48,6 +49,10 @@ static const struct chip_desc chips[] = {
|
|||||||
.muxtype = pca954x_ismux,
|
.muxtype = pca954x_ismux,
|
||||||
.width = 4,
|
.width = 4,
|
||||||
},
|
},
|
||||||
|
[PCA9546] = {
|
||||||
|
.muxtype = pca954x_isswi,
|
||||||
|
.width = 4,
|
||||||
|
},
|
||||||
[PCA9547] = {
|
[PCA9547] = {
|
||||||
.enable = 0x8,
|
.enable = 0x8,
|
||||||
.muxtype = pca954x_ismux,
|
.muxtype = pca954x_ismux,
|
||||||
@@ -95,6 +100,7 @@ static const struct i2c_mux_ops pca954x_ops = {
|
|||||||
static const struct udevice_id pca954x_ids[] = {
|
static const struct udevice_id pca954x_ids[] = {
|
||||||
{ .compatible = "nxp,pca9543", .data = PCA9543 },
|
{ .compatible = "nxp,pca9543", .data = PCA9543 },
|
||||||
{ .compatible = "nxp,pca9544", .data = PCA9544 },
|
{ .compatible = "nxp,pca9544", .data = PCA9544 },
|
||||||
|
{ .compatible = "nxp,pca9546", .data = PCA9546 },
|
||||||
{ .compatible = "nxp,pca9547", .data = PCA9547 },
|
{ .compatible = "nxp,pca9547", .data = PCA9547 },
|
||||||
{ .compatible = "nxp,pca9548", .data = PCA9548 },
|
{ .compatible = "nxp,pca9548", .data = PCA9548 },
|
||||||
{ .compatible = "nxp,pca9646", .data = PCA9646 },
|
{ .compatible = "nxp,pca9646", .data = PCA9646 },
|
||||||
|
Reference in New Issue
Block a user