aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-pxa/palmld.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-pxa/palmld.c')
-rw-r--r--arch/arm/mach-pxa/palmld.c36
1 files changed, 32 insertions, 4 deletions
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c
index 8587477a9bb7..ecf5910e39d7 100644
--- a/arch/arm/mach-pxa/palmld.c
+++ b/arch/arm/mach-pxa/palmld.c
@@ -24,6 +24,7 @@
24#include <linux/gpio.h> 24#include <linux/gpio.h>
25#include <linux/wm97xx_batt.h> 25#include <linux/wm97xx_batt.h>
26#include <linux/power_supply.h> 26#include <linux/power_supply.h>
27#include <linux/sysdev.h>
27 28
28#include <asm/mach-types.h> 29#include <asm/mach-types.h>
29#include <asm/mach/arch.h> 30#include <asm/mach/arch.h>
@@ -68,10 +69,10 @@ static unsigned long palmld_pin_config[] __initdata = {
68 GPIO47_FICP_TXD, 69 GPIO47_FICP_TXD,
69 70
70 /* MATRIX KEYPAD */ 71 /* MATRIX KEYPAD */
71 GPIO100_KP_MKIN_0, 72 GPIO100_KP_MKIN_0 | WAKEUP_ON_LEVEL_HIGH,
72 GPIO101_KP_MKIN_1, 73 GPIO101_KP_MKIN_1 | WAKEUP_ON_LEVEL_HIGH,
73 GPIO102_KP_MKIN_2, 74 GPIO102_KP_MKIN_2 | WAKEUP_ON_LEVEL_HIGH,
74 GPIO97_KP_MKIN_3, 75 GPIO97_KP_MKIN_3 | WAKEUP_ON_LEVEL_HIGH,
75 GPIO103_KP_MKOUT_0, 76 GPIO103_KP_MKOUT_0,
76 GPIO104_KP_MKOUT_1, 77 GPIO104_KP_MKOUT_1,
77 GPIO105_KP_MKOUT_2, 78 GPIO105_KP_MKOUT_2,
@@ -507,6 +508,33 @@ static struct pxafb_mach_info palmld_lcd_screen = {
507}; 508};
508 509
509/****************************************************************************** 510/******************************************************************************
511 * Power management - standby
512 ******************************************************************************/
513#ifdef CONFIG_PM
514static u32 *addr __initdata;
515static u32 resume[3] __initdata = {
516 0xe3a00101, /* mov r0, #0x40000000 */
517 0xe380060f, /* orr r0, r0, #0x00f00000 */
518 0xe590f008, /* ldr pc, [r0, #0x08] */
519};
520
521static int __init palmld_pm_init(void)
522{
523 int i;
524
525 /* this is where the bootloader jumps */
526 addr = phys_to_virt(PALMLD_STR_BASE);
527
528 for (i = 0; i < 3; i++)
529 addr[i] = resume[i];
530
531 return 0;
532}
533
534device_initcall(palmld_pm_init);
535#endif
536
537/******************************************************************************
510 * Machine init 538 * Machine init
511 ******************************************************************************/ 539 ******************************************************************************/
512static struct platform_device *devices[] __initdata = { 540static struct platform_device *devices[] __initdata = {