diff mbox series

[U-Boot,v2,3/3] i2c: muxes: pca954x: support PCA9543 I2C switch

Message ID 20190409065743.32174-3-luca@lucaceresoli.net
State Accepted
Commit 9985b74bf6d6550b83370e28057f11eab2a647d7
Delegated to: Heiko Schocher
Headers show
Series [U-Boot,v2,1/3] i2c: muxes: pca954x: update list of supported devices | expand

Commit Message

Luca Ceresoli April 9, 2019, 6:57 a.m. UTC
The PCA9543 is a 2-channel I2C switch.

Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
Reviewed-by: Heiko Schocher <hs@denx.de>

---

Changes v1 -> v2:
 - rebase on current tree
---
 drivers/i2c/muxes/Kconfig   | 3 ++-
 drivers/i2c/muxes/pca954x.c | 6 ++++++
 2 files changed, 8 insertions(+), 1 deletion(-)

Comments

Michal Simek April 9, 2019, 7:03 a.m. UTC | #1
On 09. 04. 19 8:57, Luca Ceresoli wrote:
> The PCA9543 is a 2-channel I2C switch.
> 
> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> 
> ---
> 
> Changes v1 -> v2:
>  - rebase on current tree
> ---
>  drivers/i2c/muxes/Kconfig   | 3 ++-
>  drivers/i2c/muxes/pca954x.c | 6 ++++++
>  2 files changed, 8 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
> index 4a601c88b78f..68f15261be77 100644
> --- a/drivers/i2c/muxes/Kconfig
> +++ b/drivers/i2c/muxes/Kconfig
> @@ -33,7 +33,8 @@ config I2C_MUX_PCA954x
>  	  devices. It is x width I2C multiplexer which enables to partitioning
>  	  I2C bus and connect multiple devices with the same address to the same
>  	  I2C controller where driver handles proper routing to target i2c
> -	  device. Supported chips are PCA9544, PCA9547, PCA9548 and PCA9646.
> +	  device. Supported chips are PCA9543, PCA9544, PCA9547, PCA9548 and
> +	  PCA9646.
>  
>  config I2C_MUX_GPIO
>          tristate "GPIO-based I2C multiplexer"
> diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
> index 5669753ce14d..a630ce991d04 100644
> --- a/drivers/i2c/muxes/pca954x.c
> +++ b/drivers/i2c/muxes/pca954x.c
> @@ -15,6 +15,7 @@
>  DECLARE_GLOBAL_DATA_PTR;
>  
>  enum pca_type {
> +	PCA9543,
>  	PCA9544,
>  	PCA9547,
>  	PCA9548,
> @@ -37,6 +38,10 @@ struct pca954x_priv {
>  };
>  
>  static const struct chip_desc chips[] = {
> +	[PCA9543] = {
> +		.muxtype = pca954x_isswi,
> +		.width = 2,
> +	},
>  	[PCA9544] = {
>  		.enable = 0x4,
>  		.muxtype = pca954x_ismux,
> @@ -87,6 +92,7 @@ static const struct i2c_mux_ops pca954x_ops = {
>  };
>  
>  static const struct udevice_id pca954x_ids[] = {
> +	{ .compatible = "nxp,pca9543", .data = PCA9543 },
>  	{ .compatible = "nxp,pca9544", .data = PCA9544 },
>  	{ .compatible = "nxp,pca9547", .data = PCA9547 },
>  	{ .compatible = "nxp,pca9548", .data = PCA9548 },
> 

Acked-by: Michal Simek <michal.simek@xilinx.com>

Thanks,
Michal
Heiko Schocher April 9, 2019, 1:17 p.m. UTC | #2
Hello Luca,

Am 09.04.2019 um 08:57 schrieb Luca Ceresoli:
> The PCA9543 is a 2-channel I2C switch.
> 
> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> 
> ---
> 
> Changes v1 -> v2:
>   - rebase on current tree
> ---
>   drivers/i2c/muxes/Kconfig   | 3 ++-
>   drivers/i2c/muxes/pca954x.c | 6 ++++++
>   2 files changed, 8 insertions(+), 1 deletion(-)

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

bye,
Heiko
Heiko Schocher April 10, 2019, 5:42 a.m. UTC | #3
Hello Luca,

Am 09.04.2019 um 08:57 schrieb Luca Ceresoli:
> The PCA9543 is a 2-channel I2C switch.
> 
> Signed-off-by: Luca Ceresoli <luca@lucaceresoli.net>
> Reviewed-by: Heiko Schocher <hs@denx.de>
> 
> ---
> 
> Changes v1 -> v2:
>   - rebase on current tree
> ---
>   drivers/i2c/muxes/Kconfig   | 3 ++-
>   drivers/i2c/muxes/pca954x.c | 6 ++++++
>   2 files changed, 8 insertions(+), 1 deletion(-)

Applied to u-boot-i2c.git master

Thanks!

bye,
Heiko
diff mbox series

Patch

diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index 4a601c88b78f..68f15261be77 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -33,7 +33,8 @@  config I2C_MUX_PCA954x
 	  devices. It is x width I2C multiplexer which enables to partitioning
 	  I2C bus and connect multiple devices with the same address to the same
 	  I2C controller where driver handles proper routing to target i2c
-	  device. Supported chips are PCA9544, PCA9547, PCA9548 and PCA9646.
+	  device. Supported chips are PCA9543, PCA9544, PCA9547, PCA9548 and
+	  PCA9646.
 
 config I2C_MUX_GPIO
         tristate "GPIO-based I2C multiplexer"
diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c
index 5669753ce14d..a630ce991d04 100644
--- a/drivers/i2c/muxes/pca954x.c
+++ b/drivers/i2c/muxes/pca954x.c
@@ -15,6 +15,7 @@ 
 DECLARE_GLOBAL_DATA_PTR;
 
 enum pca_type {
+	PCA9543,
 	PCA9544,
 	PCA9547,
 	PCA9548,
@@ -37,6 +38,10 @@  struct pca954x_priv {
 };
 
 static const struct chip_desc chips[] = {
+	[PCA9543] = {
+		.muxtype = pca954x_isswi,
+		.width = 2,
+	},
 	[PCA9544] = {
 		.enable = 0x4,
 		.muxtype = pca954x_ismux,
@@ -87,6 +92,7 @@  static const struct i2c_mux_ops pca954x_ops = {
 };
 
 static const struct udevice_id pca954x_ids[] = {
+	{ .compatible = "nxp,pca9543", .data = PCA9543 },
 	{ .compatible = "nxp,pca9544", .data = PCA9544 },
 	{ .compatible = "nxp,pca9547", .data = PCA9547 },
 	{ .compatible = "nxp,pca9548", .data = PCA9548 },