i2c-mux: pca954x: support pca9646 i2c switch
authorPeng Fan <peng.fan@nxp.com>
Tue, 17 Jul 2018 12:38:32 +0000 (20:38 +0800)
committerAnatolij Gustschin <agust@denx.de>
Mon, 6 Aug 2018 12:28:20 +0000 (14:28 +0200)
Add the PCA9646 support, which is 2-wire bus switch and buffered 4-channel.

Signed-off-by: Peng Fan <peng.fan@nxp.com>
Reviewed-by: Anatolij Gustschin <agust@denx.de>
drivers/i2c/muxes/pca954x.c

index 4debc03957272e91dbdaade1b0a3ecd597c88ce0..ab8b4000afbc6ac65e8d3aee14adc5d072038ca0 100644 (file)
@@ -17,7 +17,8 @@ DECLARE_GLOBAL_DATA_PTR;
 enum pca_type {
        PCA9544,
        PCA9547,
-       PCA9548
+       PCA9548,
+       PCA9646
 };
 
 struct chip_desc {
@@ -51,6 +52,11 @@ static const struct chip_desc chips[] = {
                .muxtype = pca954x_isswi,
                .width = 8,
        },
+       [PCA9646] = {
+               .enable = 0x0,
+               .muxtype = pca954x_isswi,
+               .width = 4,
+       },
 };
 
 static int pca954x_deselect(struct udevice *mux, struct udevice *bus,
@@ -86,6 +92,7 @@ static const struct udevice_id pca954x_ids[] = {
        { .compatible = "nxp,pca9544", .data = PCA9544 },
        { .compatible = "nxp,pca9547", .data = PCA9547 },
        { .compatible = "nxp,pca9548", .data = PCA9548 },
+       { .compatible = "nxp,pca9646", .data = PCA9646 },
        { }
 };