From: Chris Packham <judge.packham@gmail.com>
To: u-boot@lists.denx.de
Subject: [PATCH] i2c: muxes: pca954x: add PCA9546 variant
Date: Wed, 1 Apr 2020 15:55:27 +1300 [thread overview]
Message-ID: <20200401025527.1402-1-judge.packham@gmail.com> (raw)
This adds the PCA9546 4-channel i2c bus switch.
Signed-off-by: Chris Packham <judge.packham@gmail.com>
---
U-boot already supports the PCA9646 which is a pin-compatible (and
mostly register compatible) replacement. I still think it's worth making
the distinction and Linux actually supports the 9546 instead of the 9646
so u-boot will likely encounter dtses with 9546 in the compatible
string.
drivers/i2c/muxes/Kconfig | 4 ++--
drivers/i2c/muxes/pca954x.c | 6 ++++++
2 files changed, 8 insertions(+), 2 deletions(-)
diff --git a/drivers/i2c/muxes/Kconfig b/drivers/i2c/muxes/Kconfig
index 68f15261be77..39683fc43b49 100644
--- a/drivers/i2c/muxes/Kconfig
+++ b/drivers/i2c/muxes/Kconfig
@@ -33,8 +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 PCA9543, PCA9544, PCA9547, PCA9548 and
- PCA9646.
+ device. Supported chips are PCA9543, PCA9544, PCA9546, 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 be90a7b24a8e..cc8afc93b5e1 100644
--- a/drivers/i2c/muxes/pca954x.c
+++ b/drivers/i2c/muxes/pca954x.c
@@ -18,6 +18,7 @@ DECLARE_GLOBAL_DATA_PTR;
enum pca_type {
PCA9543,
PCA9544,
+ PCA9546,
PCA9547,
PCA9548,
PCA9646
@@ -48,6 +49,10 @@ static const struct chip_desc chips[] = {
.muxtype = pca954x_ismux,
.width = 4,
},
+ [PCA9546] = {
+ .muxtype = pca954x_isswi,
+ .width = 4,
+ },
[PCA9547] = {
.enable = 0x8,
.muxtype = pca954x_ismux,
@@ -95,6 +100,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,pca9546", .data = PCA9546 },
{ .compatible = "nxp,pca9547", .data = PCA9547 },
{ .compatible = "nxp,pca9548", .data = PCA9548 },
{ .compatible = "nxp,pca9646", .data = PCA9646 },
--
2.25.1
next reply other threads:[~2020-04-01 2:55 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-04-01 2:55 Chris Packham [this message]
2020-04-02 7:55 ` [PATCH] i2c: muxes: pca954x: add PCA9546 variant Luca Ceresoli
2020-04-08 3:48 ` Heiko Schocher
2020-04-21 5:51 ` Heiko Schocher
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200401025527.1402-1-judge.packham@gmail.com \
--to=judge.packham@gmail.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox