diff options
Diffstat (limited to 'arch/arm/mach-pxa/palmld.c')
-rw-r--r-- | arch/arm/mach-pxa/palmld.c | 31 |
1 files changed, 10 insertions, 21 deletions
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 2e65f05d366c..ed70f281dd09 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -532,30 +532,18 @@ static struct pxafb_mach_info palmld_lcd_screen = { | |||
532 | /****************************************************************************** | 532 | /****************************************************************************** |
533 | * Power management - standby | 533 | * Power management - standby |
534 | ******************************************************************************/ | 534 | ******************************************************************************/ |
535 | #ifdef CONFIG_PM | 535 | static void __init palmld_pm_init(void) |
536 | static u32 *addr __initdata; | ||
537 | static u32 resume[3] __initdata = { | ||
538 | 0xe3a00101, /* mov r0, #0x40000000 */ | ||
539 | 0xe380060f, /* orr r0, r0, #0x00f00000 */ | ||
540 | 0xe590f008, /* ldr pc, [r0, #0x08] */ | ||
541 | }; | ||
542 | |||
543 | static int __init palmld_pm_init(void) | ||
544 | { | 536 | { |
545 | int i; | 537 | static u32 resume[] = { |
546 | 538 | 0xe3a00101, /* mov r0, #0x40000000 */ | |
547 | /* this is where the bootloader jumps */ | 539 | 0xe380060f, /* orr r0, r0, #0x00f00000 */ |
548 | addr = phys_to_virt(PALMLD_STR_BASE); | 540 | 0xe590f008, /* ldr pc, [r0, #0x08] */ |
549 | 541 | }; | |
550 | for (i = 0; i < 3; i++) | 542 | |
551 | addr[i] = resume[i]; | 543 | /* copy the bootloader */ |
552 | 544 | memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume)); | |
553 | return 0; | ||
554 | } | 545 | } |
555 | 546 | ||
556 | device_initcall(palmld_pm_init); | ||
557 | #endif | ||
558 | |||
559 | /****************************************************************************** | 547 | /****************************************************************************** |
560 | * Machine init | 548 | * Machine init |
561 | ******************************************************************************/ | 549 | ******************************************************************************/ |
@@ -595,6 +583,7 @@ static void __init palmld_init(void) | |||
595 | { | 583 | { |
596 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); | 584 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); |
597 | 585 | ||
586 | palmld_pm_init(); | ||
598 | set_pxa_fb_info(&palmld_lcd_screen); | 587 | set_pxa_fb_info(&palmld_lcd_screen); |
599 | pxa_set_mci_info(&palmld_mci_platform_data); | 588 | pxa_set_mci_info(&palmld_mci_platform_data); |
600 | pxa_set_ac97_info(&palmld_ac97_pdata); | 589 | pxa_set_ac97_info(&palmld_ac97_pdata); |