Message ID | 20200401025527.1402-1-judge.packham@gmail.com |
---|---|
State | Accepted |
Commit | 0b1d7b7271c6df13da87218dfa8a2459e0eb29fa |
Headers | show |
Series | i2c: muxes: pca954x: add PCA9546 variant | expand |
Hi Chris, On 01/04/20 04:55, Chris Packham wrote: > This adds the PCA9546 4-channel i2c bus switch. > > Signed-off-by: Chris Packham <judge.packham at gmail.com> Reviewed-by: Luca Ceresoli <luca at lucaceresoli.net>
Hello Chris, Am 01.04.2020 um 04:55 schrieb Chris Packham: > This adds the PCA9546 4-channel i2c bus switch. > > Signed-off-by: Chris Packham <judge.packham at 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(-) Reviewed-by: Heiko Schocher <hs at denx.de> bye, Heiko
Hello Chris, Am 01.04.2020 um 04:55 schrieb Chris Packham: > This adds the PCA9546 4-channel i2c bus switch. > > Signed-off-by: Chris Packham <judge.packham at 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(-) Applied to u-boot-i2c master, thanks! bye, Heiko
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 },
This adds the PCA9546 4-channel i2c bus switch. Signed-off-by: Chris Packham <judge.packham at 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(-)