diff options
Diffstat (limited to 'arch/arm/mach-pxa/palmld.c')
-rw-r--r-- | arch/arm/mach-pxa/palmld.c | 42 |
1 files changed, 20 insertions, 22 deletions
diff --git a/arch/arm/mach-pxa/palmld.c b/arch/arm/mach-pxa/palmld.c index 471a853e548b..ed70f281dd09 100644 --- a/arch/arm/mach-pxa/palmld.c +++ b/arch/arm/mach-pxa/palmld.c | |||
@@ -129,7 +129,7 @@ static unsigned long palmld_pin_config[] __initdata = { | |||
129 | GPIO81_GPIO, /* wifi reset */ | 129 | GPIO81_GPIO, /* wifi reset */ |
130 | 130 | ||
131 | /* HDD */ | 131 | /* HDD */ |
132 | GPIO95_GPIO, /* HDD irq */ | 132 | GPIO98_GPIO, /* HDD reset */ |
133 | GPIO115_GPIO, /* HDD power */ | 133 | GPIO115_GPIO, /* HDD power */ |
134 | 134 | ||
135 | /* MISC */ | 135 | /* MISC */ |
@@ -496,6 +496,14 @@ static struct platform_device palmld_asoc = { | |||
496 | }; | 496 | }; |
497 | 497 | ||
498 | /****************************************************************************** | 498 | /****************************************************************************** |
499 | * HDD | ||
500 | ******************************************************************************/ | ||
501 | static struct platform_device palmld_hdd = { | ||
502 | .name = "pata_palmld", | ||
503 | .id = -1, | ||
504 | }; | ||
505 | |||
506 | /****************************************************************************** | ||
499 | * Framebuffer | 507 | * Framebuffer |
500 | ******************************************************************************/ | 508 | ******************************************************************************/ |
501 | static struct pxafb_mode_info palmld_lcd_modes[] = { | 509 | static struct pxafb_mode_info palmld_lcd_modes[] = { |
@@ -524,30 +532,18 @@ static struct pxafb_mach_info palmld_lcd_screen = { | |||
524 | /****************************************************************************** | 532 | /****************************************************************************** |
525 | * Power management - standby | 533 | * Power management - standby |
526 | ******************************************************************************/ | 534 | ******************************************************************************/ |
527 | #ifdef CONFIG_PM | 535 | static void __init palmld_pm_init(void) |
528 | static u32 *addr __initdata; | ||
529 | static u32 resume[3] __initdata = { | ||
530 | 0xe3a00101, /* mov r0, #0x40000000 */ | ||
531 | 0xe380060f, /* orr r0, r0, #0x00f00000 */ | ||
532 | 0xe590f008, /* ldr pc, [r0, #0x08] */ | ||
533 | }; | ||
534 | |||
535 | static int __init palmld_pm_init(void) | ||
536 | { | 536 | { |
537 | int i; | 537 | static u32 resume[] = { |
538 | 538 | 0xe3a00101, /* mov r0, #0x40000000 */ | |
539 | /* this is where the bootloader jumps */ | 539 | 0xe380060f, /* orr r0, r0, #0x00f00000 */ |
540 | addr = phys_to_virt(PALMLD_STR_BASE); | 540 | 0xe590f008, /* ldr pc, [r0, #0x08] */ |
541 | 541 | }; | |
542 | for (i = 0; i < 3; i++) | 542 | |
543 | addr[i] = resume[i]; | 543 | /* copy the bootloader */ |
544 | 544 | memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume)); | |
545 | return 0; | ||
546 | } | 545 | } |
547 | 546 | ||
548 | device_initcall(palmld_pm_init); | ||
549 | #endif | ||
550 | |||
551 | /****************************************************************************** | 547 | /****************************************************************************** |
552 | * Machine init | 548 | * Machine init |
553 | ******************************************************************************/ | 549 | ******************************************************************************/ |
@@ -559,6 +555,7 @@ static struct platform_device *devices[] __initdata = { | |||
559 | &palmld_leds, | 555 | &palmld_leds, |
560 | &power_supply, | 556 | &power_supply, |
561 | &palmld_asoc, | 557 | &palmld_asoc, |
558 | &palmld_hdd, | ||
562 | }; | 559 | }; |
563 | 560 | ||
564 | static struct map_desc palmld_io_desc[] __initdata = { | 561 | static struct map_desc palmld_io_desc[] __initdata = { |
@@ -586,6 +583,7 @@ static void __init palmld_init(void) | |||
586 | { | 583 | { |
587 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); | 584 | pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); |
588 | 585 | ||
586 | palmld_pm_init(); | ||
589 | set_pxa_fb_info(&palmld_lcd_screen); | 587 | set_pxa_fb_info(&palmld_lcd_screen); |
590 | pxa_set_mci_info(&palmld_mci_platform_data); | 588 | pxa_set_mci_info(&palmld_mci_platform_data); |
591 | pxa_set_ac97_info(&palmld_ac97_pdata); | 589 | pxa_set_ac97_info(&palmld_ac97_pdata); |