summaryrefslogtreecommitdiff
path: root/drivers/i2c
diff options
context:
space:
mode:
authorFugang Duan <fugang.duan@nxp.com>2017-07-28 11:22:31 +0800
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commitd214210934a3fac1d6783c77fe80c3b90cef4683 (patch)
tree3e8f4e011b251c12b95c8f503ab2ba5b28e4e4d5 /drivers/i2c
parent43aae33c5f469d78ca4d6c4618cd1f1dd941f64b (diff)
MLK-16095-01 i2c: mux: pca954x: add i2c bus switch PCA9646 chip support
Add i2c bus switch PCA9646 chip support, which 2-wire bus switch and buffered 4-channel. Signed-off-by: Fugang Duan <fugang.duan@nxp.com>
Diffstat (limited to 'drivers/i2c')
-rw-r--r--drivers/i2c/muxes/i2c-mux-pca954x.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/i2c/muxes/i2c-mux-pca954x.c b/drivers/i2c/muxes/i2c-mux-pca954x.c
index 9c4ac26c014e..6b052391b0ab 100644
--- a/drivers/i2c/muxes/i2c-mux-pca954x.c
+++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
@@ -57,6 +57,7 @@ enum pca_type {
pca_9546,
pca_9547,
pca_9548,
+ pca_9646,
};
struct chip_desc {
@@ -105,6 +106,10 @@ static const struct chip_desc chips[] = {
.nchans = 8,
.muxtype = pca954x_isswi,
},
+ [pca_9646] = {
+ .nchans = 4,
+ .muxtype = pca954x_isswi,
+ },
};
static const struct i2c_device_id pca954x_id[] = {
@@ -116,6 +121,7 @@ static const struct i2c_device_id pca954x_id[] = {
{ "pca9546", pca_9545 },
{ "pca9547", pca_9547 },
{ "pca9548", pca_9548 },
+ { "pca9646", pca_9646 },
{ }
};
MODULE_DEVICE_TABLE(i2c, pca954x_id);
@@ -130,6 +136,7 @@ static const struct of_device_id pca954x_of_match[] = {
{ .compatible = "nxp,pca9546", .data = &chips[pca_9546] },
{ .compatible = "nxp,pca9547", .data = &chips[pca_9547] },
{ .compatible = "nxp,pca9548", .data = &chips[pca_9548] },
+ { .compatible = "nxp,pca9646", .data = &chips[pca_9646] },
{}
};
#endif