aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/hx4700.c
diff options
context:
space:
mode:
authorPaul Parsons <lost.distance@yahoo.com>2012-05-02 11:49:24 -0400
committerHaojian Zhuang <haojian.zhuang@gmail.com>2012-05-02 21:51:20 -0400
commite949f93c591352f0376fdd192b4060a38c102ba5 (patch)
tree207fcd8c715847a2b38d5071faacb90bb6586d31 /arch/arm/mach-pxa/hx4700.c
parent89619d44eec8ed95b3b62b2fd6ddc56aeea41a95 (diff)
ARM: pxa: hx4700: Enable ASIC3 GPIO as a wakeup source
This patch enables the ASIC3 GPIO (12) as a wakeup source: 1. Set the WAKEUP_ON_EDGE_RISE MFP config bits for GPIO12 in hx4700_pin_config[]. 2. Call gpio_set_wake() for GPIO12. With GPIO12 thus enabled, the mfd/asic3 driver can enable its own GPIOs as wakeup sources by implementing a irq_set_wake() handler. Signed-off-by: Paul Parsons <lost.distance@yahoo.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Signed-off-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Diffstat (limited to 'arch/arm/mach-pxa/hx4700.c')
-rw-r--r--arch/arm/mach-pxa/hx4700.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/arm/mach-pxa/hx4700.c b/arch/arm/mach-pxa/hx4700.c
index fe8fb7adcac8..2fe0fa0cb383 100644
--- a/arch/arm/mach-pxa/hx4700.c
+++ b/arch/arm/mach-pxa/hx4700.c
@@ -125,7 +125,7 @@ static unsigned long hx4700_pin_config[] __initdata = {
125 GPIO88_GPIO, 125 GPIO88_GPIO,
126 126
127 /* HX4700 specific input GPIOs */ 127 /* HX4700 specific input GPIOs */
128 GPIO12_GPIO, /* ASIC3_IRQ */ 128 GPIO12_GPIO | WAKEUP_ON_EDGE_RISE, /* ASIC3_IRQ */
129 GPIO13_GPIO, /* W3220_IRQ */ 129 GPIO13_GPIO, /* W3220_IRQ */
130 GPIO14_GPIO, /* nWLAN_IRQ */ 130 GPIO14_GPIO, /* nWLAN_IRQ */
131 131
@@ -860,6 +860,7 @@ static void __init hx4700_init(void)
860 int ret; 860 int ret;
861 861
862 pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config)); 862 pxa2xx_mfp_config(ARRAY_AND_SIZE(hx4700_pin_config));
863 gpio_set_wake(GPIO12_HX4700_ASIC3_IRQ, 1);
863 ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios)); 864 ret = gpio_request_array(ARRAY_AND_SIZE(global_gpios));
864 if (ret) 865 if (ret)
865 pr_err ("hx4700: Failed to request GPIOs.\n"); 866 pr_err ("hx4700: Failed to request GPIOs.\n");