summaryrefslogtreecommitdiffstats
path: root/drivers/gpio
diff options
context:
space:
mode:
authorHaojian Zhuang <haojian.zhuang@marvell.com>2011-10-17 15:07:15 +0200
committerHaojian Zhuang <hzhuang1@hexinfolabs.org>2011-11-15 12:09:10 +0100
commitbe24168f144122b3730beab257fa058745d14cb4 (patch)
treea195eac4e931ea5b4228f02b2d069372d03ec8ff /drivers/gpio
parentARM: pxa: change gpio to platform device (diff)
downloadlinux-be24168f144122b3730beab257fa058745d14cb4.tar.xz
linux-be24168f144122b3730beab257fa058745d14cb4.zip
ARM: mmp: clear gpio edge detect
Append code to clear gpio edge detect in gpio-pxa driver. Signed-off-by: Haojian Zhuang <haojian.zhuang@marvell.com>
Diffstat (limited to 'drivers/gpio')
-rw-r--r--drivers/gpio/gpio-pxa.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index 079f97fde2c7..bfd755531f7a 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -46,6 +46,7 @@
#define GFER_OFFSET 0x3C
#define GEDR_OFFSET 0x48
#define GAFR_OFFSET 0x54
+#define ED_MASK_OFFSET 0x9C /* GPIO edge detection for AP side */
#define BANK_OFF(n) (((n) < 3) ? (n) << 2 : 0x100 + (((n) - 3) << 2))
@@ -496,6 +497,9 @@ static int __devinit pxa_gpio_probe(struct platform_device *pdev)
writel_relaxed(0, c->regbase + GFER_OFFSET);
writel_relaxed(0, c->regbase + GRER_OFFSET);
writel_relaxed(~0,c->regbase + GEDR_OFFSET);
+ /* unmask GPIO edge detect for AP side */
+ if (gpio_is_mmp_type(gpio_type))
+ writel_relaxed(~0, c->regbase + ED_MASK_OFFSET);
}
#ifdef CONFIG_ARCH_PXA