diff options
Diffstat (limited to 'drivers/i2c')
-rw-r--r-- | drivers/i2c/muxes/pca954x.c | 9 | ||||
-rw-r--r-- | drivers/i2c/omap24xx_i2c.c | 2 |
2 files changed, 9 insertions, 2 deletions
diff --git a/drivers/i2c/muxes/pca954x.c b/drivers/i2c/muxes/pca954x.c index 55858cf653f..0034dfbf6da 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 }, { } }; diff --git a/drivers/i2c/omap24xx_i2c.c b/drivers/i2c/omap24xx_i2c.c index a767dee9866..c656cf8b7a1 100644 --- a/drivers/i2c/omap24xx_i2c.c +++ b/drivers/i2c/omap24xx_i2c.c @@ -1015,7 +1015,7 @@ static int omap_i2c_probe_chip(struct udevice *bus, uint chip_addr, struct omap_i2c *priv = dev_get_priv(bus); return __omap24_i2c_probe(priv->regs, priv->ip_rev, priv->waitdelay, - chip_addr); + chip_addr) ? -EREMOTEIO : 0; } static int omap_i2c_probe(struct udevice *bus) |