From 80720c83833c6009b68958fff4e1cca712808395 Mon Sep 17 00:00:00 2001
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: Thu, 24 Jan 2019 15:07:32 +0800
Subject: [PATCH] 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>
---
 drivers/i2c/muxes/i2c-mux-pca954x.c | 8 ++++++++
 1 file changed, 8 insertions(+)

--- a/drivers/i2c/muxes/i2c-mux-pca954x.c
+++ b/drivers/i2c/muxes/i2c-mux-pca954x.c
@@ -64,6 +64,7 @@ enum pca_type {
 	pca_9546,
 	pca_9547,
 	pca_9548,
+	pca_9646,
 	pca_9846,
 	pca_9847,
 	pca_9848,
@@ -145,6 +146,11 @@ static const struct chip_desc chips[] =
 		.muxtype = pca954x_isswi,
 		.id = { .manufacturer_id = I2C_DEVICE_ID_NONE },
 	},
+	[pca_9646] = {
+		.nchans = 4,
+		.muxtype = pca954x_isswi,
+		.id = { .manufacturer_id = I2C_DEVICE_ID_NONE },
+	},
 	[pca_9846] = {
 		.nchans = 4,
 		.muxtype = pca954x_isswi,
@@ -190,6 +196,7 @@ static const struct i2c_device_id pca954
 	{ "pca9546", pca_9546 },
 	{ "pca9547", pca_9547 },
 	{ "pca9548", pca_9548 },
+	{ "pca9646", pca_9646 },
 	{ "pca9846", pca_9846 },
 	{ "pca9847", pca_9847 },
 	{ "pca9848", pca_9848 },
@@ -208,6 +215,7 @@ static const struct of_device_id pca954x
 	{ .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] },
 	{ .compatible = "nxp,pca9846", .data = &chips[pca_9846] },
 	{ .compatible = "nxp,pca9847", .data = &chips[pca_9847] },
 	{ .compatible = "nxp,pca9848", .data = &chips[pca_9848] },
