[PATCH 0/3] Add support for gpio expander pca9505 used on Mirabox

Gregory CLEMENT gregory.clement at free-electrons.com
Mon Jan 7 03:21:16 EST 2013


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:
https://github.com/MISL-EBU-System-SW/mainline-public.git

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.
http://free-electrons.com



More information about the linux-arm-kernel mailing list