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

Peng Fan van.freenix at gmail.com
Mon Apr 11 07:47:55 CEST 2016


On Sat, Apr 09, 2016 at 12:33:34PM -0600, Simon Glass wrote:
>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.

480 is added by gpio uclass driver I think.
The dts is copied from Linux side. I'd not change the dts, will try to
see how to introudce a sensible name here.

Thanks,
Peng.

>
>>
>> => 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