diff mbox series

[01/15] i2c: muxes: pca954x: add PCA9847 variant

Message ID 20211202145409.2482099-2-vladimir.oltean@nxp.com
State Superseded
Delegated to: Priyanka Jain
Headers show
Series Sync NXP LS1028A-RDB device trees between U-Boot and Linux | expand

Commit Message

Vladimir Oltean Dec. 2, 2021, 2:53 p.m. UTC
This seems to be very similar to the already existing PCA9547, save for
the fact that it supports 0.8V and doesn't support 5V. In fact, it is so
similar to the PCA9547 that the NXP LS1028A-RDB board has been driving
this chip using a "nxp,pca9547" compatible string.

Create a new compatible for the PCA9847 (which is the same as in Linux)
and define the same operating parameters for it as for PCA9547.

Cc: Heiko Schocher <hs@denx.de>
Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
---
 drivers/i2c/muxes/pca954x.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Heiko Schocher Dec. 3, 2021, 5:25 a.m. UTC | #1
Hello Vladimir,

On 02.12.21 15:53, Vladimir Oltean wrote:
> This seems to be very similar to the already existing PCA9547, save for
> the fact that it supports 0.8V and doesn't support 5V. In fact, it is so
> similar to the PCA9547 that the NXP LS1028A-RDB board has been driving
> this chip using a "nxp,pca9547" compatible string.
> 
> Create a new compatible for the PCA9847 (which is the same as in Linux)
> and define the same operating parameters for it as for PCA9547.
> 
> Cc: Heiko Schocher <hs@denx.de>
> Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
> ---
>  drivers/i2c/muxes/pca954x.c | 9 ++++++++-
>  1 file changed, 8 insertions(+), 1 deletion(-)

Reviewed-by: Heiko Schocher <hs@denx.de>

Thanks!

bye,
Heiko
Priyanka Jain Dec. 7, 2021, 4:41 a.m. UTC | #2
>-----Original Message-----
>From: Vladimir Oltean <vladimir.oltean@nxp.com>
>Sent: Thursday, December 2, 2021 8:24 PM
>To: u-boot@lists.denx.de
>Cc: Michael Walle <michael@walle.cc>; Tom Rini <trini@konsulko.com>;
>Priyanka Jain <priyanka.jain@nxp.com>; Leo Li <leoyang.li@nxp.com>; Heiko
>Schocher <hs@denx.de>
>Subject: [PATCH 01/15] i2c: muxes: pca954x: add PCA9847 variant
>
>This seems to be very similar to the already existing PCA9547, save for the fact
>that it supports 0.8V and doesn't support 5V. In fact, it is so similar to the
>PCA9547 that the NXP LS1028A-RDB board has been driving this chip using a
>"nxp,pca9547" compatible string.
>
>Create a new compatible for the PCA9847 (which is the same as in Linux) and
>define the same operating parameters for it as for PCA9547.
>
>Cc: Heiko Schocher <hs@denx.de>
>Signed-off-by: Vladimir Oltean <vladimir.oltean@nxp.com>
>---
<snip>
Reviewed-by: Priyanka Jain <priyanka.jain@nxp.com>
diff mbox series

Patch

diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
index 55858cf653f2..0034dfbf6daf 100644
--- a/drivers/i2c/muxes/pca954x.c
+++ b/drivers/i2c/muxes/pca954x.c
@@ -23,7 +23,8 @@  enum pca_type {
 	PCA9546,
 	PCA9547,
 	PCA9548,
-	PCA9646
+	PCA9646,
+	PCA9847,
 };
 
 struct chip_desc {
@@ -68,6 +69,11 @@  static const struct chip_desc chips[] = {
 		.muxtype = pca954x_isswi,
 		.width = 4,
 	},
+	[PCA9847] = {
+		.enable = 0x8,
+		.muxtype = pca954x_ismux,
+		.width = 8,
+	},
 };
 
 static int pca954x_deselect(struct udevice *mux, struct udevice *bus,
@@ -106,6 +112,7 @@  static const struct udevice_id pca954x_ids[] = {
 	{ .compatible = "nxp,pca9547", .data = PCA9547 },
 	{ .compatible = "nxp,pca9548", .data = PCA9548 },
 	{ .compatible = "nxp,pca9646", .data = PCA9646 },
+	{ .compatible = "nxp,pca9847", .data = PCA9847 },
 	{ }
 };