[ARM] pxa: add support for additional GPIOs on PXA26x
authorEric Miao <eric.miao@marvell.com>
Wed, 26 Nov 2008 10:12:04 +0000 (18:12 +0800)
committerEric Miao <eric.miao@marvell.com>
Tue, 2 Dec 2008 06:42:37 +0000 (14:42 +0800)
commit067455aa53a55404ded85227e87436478c2acc63
tree44e1deef3e364e45199cdd7abade384bde6e6164
parente88db8b91f1f5de24ae6bb3241d92fecaae64abf
[ARM] pxa: add support for additional GPIOs on PXA26x

Original patch from Marek Vasut, the problems with PXA26x are:

1. there are additional 4 GPIOs 86,87,88,89 have their direction bits
   inverted in GPDR2, as well as their alternate function bits being
   '1' for their GPIO functionality in GAFRx

2. there is no easy way to decide if the processor is a pxa26x or a
   pxa250/pxa255 at run-time, so the assumption here is the pxa26x
   will be treated as one of the pxa25x variants, and board code
   should have a better knowledge of the processor it is featured

Introduce pxa26x_init_irq() for the second purpose, and treat the
additional GPIOs > 85 on PXA25x specially.

Kconfig option CONFIG_CPU_PXA26x is introduced to optimize the code
a bit when PXA26x support isn't needed. Board config options have
to select this to enable the support for PXA26x.

__gpio_is_inverted() will be optimized way when CONFIG_CPU_PXA26x
isn't selected.

Signed-off-by: Marek Vasut <marek.vasut@gmail.com>
Signed-off-by: Eric Miao <eric.miao@marvell.com>
arch/arm/mach-pxa/Kconfig
arch/arm/mach-pxa/gpio.c
arch/arm/mach-pxa/include/mach/mfp-pxa25x.h
arch/arm/mach-pxa/mfp-pxa2xx.c
arch/arm/mach-pxa/pxa25x.c