|
@@ -474,30 +474,18 @@ static struct pxafb_mach_info palmt5_lcd_screen = {
|
|
/******************************************************************************
|
|
/******************************************************************************
|
|
* Power management - standby
|
|
* Power management - standby
|
|
******************************************************************************/
|
|
******************************************************************************/
|
|
-#ifdef CONFIG_PM
|
|
|
|
-static u32 *addr __initdata;
|
|
|
|
-static u32 resume[3] __initdata = {
|
|
|
|
- 0xe3a00101, /* mov r0, #0x40000000 */
|
|
|
|
- 0xe380060f, /* orr r0, r0, #0x00f00000 */
|
|
|
|
- 0xe590f008, /* ldr pc, [r0, #0x08] */
|
|
|
|
-};
|
|
|
|
-
|
|
|
|
-static int __init palmt5_pm_init(void)
|
|
|
|
|
|
+static void __init palmt5_pm_init(void)
|
|
{
|
|
{
|
|
- int i;
|
|
|
|
-
|
|
|
|
- /* this is where the bootloader jumps */
|
|
|
|
- addr = phys_to_virt(PALMT5_STR_BASE);
|
|
|
|
-
|
|
|
|
- for (i = 0; i < 3; i++)
|
|
|
|
- addr[i] = resume[i];
|
|
|
|
-
|
|
|
|
- return 0;
|
|
|
|
|
|
+ static u32 resume[] = {
|
|
|
|
+ 0xe3a00101, /* mov r0, #0x40000000 */
|
|
|
|
+ 0xe380060f, /* orr r0, r0, #0x00f00000 */
|
|
|
|
+ 0xe590f008, /* ldr pc, [r0, #0x08] */
|
|
|
|
+ };
|
|
|
|
+
|
|
|
|
+ /* copy the bootloader */
|
|
|
|
+ memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
|
|
}
|
|
}
|
|
|
|
|
|
-device_initcall(palmt5_pm_init);
|
|
|
|
-#endif
|
|
|
|
-
|
|
|
|
/******************************************************************************
|
|
/******************************************************************************
|
|
* Machine init
|
|
* Machine init
|
|
******************************************************************************/
|
|
******************************************************************************/
|
|
@@ -524,6 +512,7 @@ static void __init palmt5_init(void)
|
|
{
|
|
{
|
|
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
|
|
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));
|
|
|
|
|
|
|
|
+ palmt5_pm_init();
|
|
set_pxa_fb_info(&palmt5_lcd_screen);
|
|
set_pxa_fb_info(&palmt5_lcd_screen);
|
|
pxa_set_mci_info(&palmt5_mci_platform_data);
|
|
pxa_set_mci_info(&palmt5_mci_platform_data);
|
|
palmt5_udc_init();
|
|
palmt5_udc_init();
|
|
@@ -531,6 +520,7 @@ static void __init palmt5_init(void)
|
|
pxa_set_ficp_info(&palmt5_ficp_platform_data);
|
|
pxa_set_ficp_info(&palmt5_ficp_platform_data);
|
|
pxa_set_keypad_info(&palmt5_keypad_platform_data);
|
|
pxa_set_keypad_info(&palmt5_keypad_platform_data);
|
|
wm97xx_bat_set_pdata(&wm97xx_batt_pdata);
|
|
wm97xx_bat_set_pdata(&wm97xx_batt_pdata);
|
|
|
|
+
|
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
platform_add_devices(devices, ARRAY_SIZE(devices));
|
|
}
|
|
}
|
|
|
|
|