Messages in this thread |  | | From | Gregory CLEMENT <> | Subject | [PATCH 0/3] Add support for gpio expander pca9505 used on Mirabox | Date | Sun, 6 Jan 2013 18:34:45 +0100 |
| |
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.
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(-)
-- 1.7.9.5
|  |