[U-Boot] [PATCH] dm: gpio: pca953x: introduce driver model support for pca953x

Simon Glass sjg at chromium.org
Sat Apr 9 20:33:34 CEST 2016


On 18 March 2016 at 03:54, Peng Fan <van.freenix at gmail.com> wrote:
> Introduce a new driver that supports driver model for pca953x.
> The pca953x chips are used as I2C I/O expanders.
> This driver is designed to support the following chips:
> "
> 4 bits: pca9536, pca9537
> 8 bits: max7310, max7315, pca6107, pca9534, pca9538, pca9554,
>         pca9556, pca9557, pca9574, tca6408, xra1202
> 16 bits: max7312, max7313, pca9535, pca9539, pca9555, pca9575,
>          tca6416
> 24 bits: tca6424
> 40 bits: pca9505, pca9698
> "
> But for now this driver only supports max 24 bits and pca953x compatible
> chips. pca957x compatible chips are not supported now.
> These can be addressed when we need to add such support for the different
> chips.
> This driver has been tested on i.MX6 SoloX Sabreauto board with max7310
> i2c expander using gpio command as following:
>
> =>gpio status -a
> Bank gpio at 48:
> gpio at 480: input: 1 [ ]
> => gpio clear gpio at 480
> gpio: pin gpio at 480 (gpio 224) value is 0
> => gpio status -a
> Bank gpio at 48:
> gpio at 480: output: 0 [ ]

Don't you think 480 is confusing? Perhaps you should have gpio at 48_ as
the bank name? Also I think you should support a gpio-bank-name
property in the node, to allow a sensible name to be provided.

>
> => dm tree:
>  i2c         [   ]    |   |   `-- i2c at 021a8000
>  gpio        [   ]    |   |       |-- gpio at 30
>  gpio        [   ]    |   |       `-- gpio at 32
>
> Signed-off-by: Peng Fan <van.freenix at gmail.com>
> Cc: Simon Glass <sjg at chromium.org>
> Cc: Masahiro Yamada <yamada.masahiro at socionext.com>
> Cc: Wenyou Yang <wenyou.yang at atmel.com>
> Cc: Daniel Schwierzeck <daniel.schwierzeck at gmail.com>
> Cc: Purna Chandra Mandal <purna.mandal at microchip.com>
> Cc: Thomas Chou <thomas at wytron.com.tw>
> Cc: Bhuvanchandra DV <bhuvanchandra.dv at toradex.com>
> Cc: Andrea Scian <andrea.scian at dave.eu>
> Cc: Michal Simek <michal.simek at xilinx.com>
> Cc: Stefano Babic <sbabic at denx.de>
> Cc: Fabio Estevam <fabio.estevam at nxp.com>
> ---
>  drivers/gpio/Kconfig        |  23 +++
>  drivers/gpio/Makefile       |   2 +
>  drivers/gpio/pca953x_gpio.c | 349 ++++++++++++++++++++++++++++++++++++++++++++
>  3 files changed, 374 insertions(+)
>  create mode 100644 drivers/gpio/pca953x_gpio.c

One nit - there is no need to check for chip being NULL as it cannot be.

Acked-by: Simon Glass <sjg at chromium.org>


More information about the U-Boot mailing list