MLK-16095-01 i2c: mux: pca954x: add i2c bus switch PCA9646 chip support
authorFugang Duan <fugang.duan@nxp.com>
Fri, 28 Jul 2017 03:22:31 +0000 (11:22 +0800)
committerNitin Garg <nitin.garg@nxp.com>
Mon, 19 Mar 2018 20:36:10 +0000 (15:36 -0500)
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>
Documentation/devicetree/bindings/i2c/i2c-mux-pca954x.txt
drivers/i2c/muxes/i2c-mux-pca954x.c

index cf53d5f..4f64e14 100644 (file)
@@ -4,7 +4,8 @@ Required Properties:
 
   - compatible: Must contain one of the following.
     "nxp,pca9540", "nxp,pca9542", "nxp,pca9543", "nxp,pca9544",
-    "nxp,pca9545", "nxp,pca9546", "nxp,pca9547", "nxp,pca9548"
+    "nxp,pca9545", "nxp,pca9546", "nxp,pca9547", "nxp,pca9548",
+    "nxp,pca9646"
 
   - reg: The I2C address of the device.
 
index 9c4ac26..6b05239 100644 (file)
@@ -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