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); |
