Hi Mario, On Mon, Apr 25, 2016 at 03:25:37PM +0200, Mario Six wrote: >A DM driver for PCA953x was recently introduced by Peng Fan, which lacked >support for the 40 GPIO versions. > >This patch adds support for these chips. > >Signed-off-by: Mario Six <mario....@gdsys.cc>
Looks fine to me. Reviewed-by: Peng Fan <van.free...@gmail.com> >--- > drivers/gpio/pca953x_gpio.c | 9 ++++++--- > 1 file changed, 6 insertions(+), 3 deletions(-) > >diff --git a/drivers/gpio/pca953x_gpio.c b/drivers/gpio/pca953x_gpio.c >index 987d10e..065b181 100644 >--- a/drivers/gpio/pca953x_gpio.c >+++ b/drivers/gpio/pca953x_gpio.c >@@ -16,8 +16,8 @@ > * > * TODO: > * 1. Support PCA957X_TYPE >- * 2. Support max 40 gpio pins >- * 3. Support Plolarity Inversion >+ * 2. Support 24 gpio pins >+ * 3. Support Polarity Inversion > */ > > #include <common.h> >@@ -47,7 +47,7 @@ enum { > PCA953X_DIRECTION_OUT, > }; > >-#define MAX_BANK 3 >+#define MAX_BANK 5 > #define BANK_SZ 8 > > DECLARE_GLOBAL_DATA_PTR; >@@ -121,6 +121,9 @@ static int pca953x_read_regs(struct udevice *dev, int reg, >u8 *val) > ret = dm_i2c_read(dev, reg, val, 1); > } else if (info->gpio_count <= 16) { > ret = dm_i2c_read(dev, reg << 1, val, info->bank_count); >+ } else if (info->gpio_count == 40) { >+ /* Auto increment */ >+ ret = dm_i2c_read(dev, (reg << 3) | 0x80, val, >info->bank_count); > } else { > dev_err(dev, "Unsupported now\n"); > return -EINVAL; >-- >2.7.0.GIT > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot