[lkml]   [2013]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH 0/3] Add support for gpio expander pca9505 used on Mirabox
On 01/06/2013 06:34 PM, Gregory CLEMENT wrote:
> Hello,
> This patch set adds the support for the i2c gpio expander pca9505 used
> on the JTAG/GPIO box which can be connected to the Mirabox.
> To be able to use the pca9505 I had to do several changes in the
> driver. Indeed, until now the pca953x driver accessed all the bank of
> a given register in a single command using only a 32 bits
> variable. This expander comes with 40 GPIOs which no more fits in a 32
> variable. This patch set makes the accesses to the registers more
> generic by relying on an array of u8 variables. This fits exactly the
> way the registers are represented in the hardware.
> Once the per-bank representation was added, it was easier to introduce
> helpers to access to a single register of a bank instead of reading or
> writing all the banks for a given register. As the GPIO API allows
> only the accesses to a single GPIO at a time there was no point to read
> and write all the other banks. Hence it should help to decrease the
> latency especially for the pca9505.
> However as the block GPIO API from Roland Stigge is incoming I kept
> the helpers used to access all the banks in the same time. I had to
> make some modifications in the arguments that these functions
> received, so it will have a conflict here. Currently my patch set is
> based on v3.8-rc2, but I am willing to rebase onto gpio-for-next once
> the GPIO block will be merged into it.
> I also expected some tested-by as I was only able to test the pca9505
> and I didn't test the IRQ part.

For those who are interested the branch gpio-pca9505 is available at:

This branch is based on v3.8-rc2 plus some fixes related to mvebu
plateform and of course this patch set.

> Thanks!
> Gregory CLEMENT (3):
> gpio: pca953x: make the register access by GPIO bank
> gpio: pca953x: add support for pca9505
> arm: mvebu: enable gpio expander over i2c on Mirabox platform
> arch/arm/boot/dts/armada-370-mirabox.dts | 10 ++
> drivers/gpio/gpio-pca953x.c | 235 +++++++++++++++++++-----------
> 2 files changed, 160 insertions(+), 85 deletions(-)

Gregory Clement, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.

 \ /
  Last update: 2013-01-07 10:01    [W:0.073 / U:0.456 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site