Commit fc9c1b6f authored by Marek Vasut's avatar Marek Vasut Committed by Eric Miao

[ARM] pxa/palm: Palm TX, T5, LD suspend-to-mem rework

Signed-off-by: default avatarMarek Vasut <marek.vasut@gmail.com>
Signed-off-by: default avatarEric Miao <eric.miao@marvell.com>
parent 37330efd
...@@ -524,30 +524,18 @@ static struct pxafb_mach_info palmld_lcd_screen = { ...@@ -524,30 +524,18 @@ static struct pxafb_mach_info palmld_lcd_screen = {
/****************************************************************************** /******************************************************************************
* Power management - standby * Power management - standby
******************************************************************************/ ******************************************************************************/
#ifdef CONFIG_PM static void __init palmld_pm_init(void)
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 palmld_pm_init(void)
{ {
int i; static u32 resume[] = {
0xe3a00101, /* mov r0, #0x40000000 */
/* this is where the bootloader jumps */ 0xe380060f, /* orr r0, r0, #0x00f00000 */
addr = phys_to_virt(PALMLD_STR_BASE); 0xe590f008, /* ldr pc, [r0, #0x08] */
};
for (i = 0; i < 3; i++)
addr[i] = resume[i]; /* copy the bootloader */
memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume));
return 0;
} }
device_initcall(palmld_pm_init);
#endif
/****************************************************************************** /******************************************************************************
* Machine init * Machine init
******************************************************************************/ ******************************************************************************/
...@@ -586,6 +574,7 @@ static void __init palmld_init(void) ...@@ -586,6 +574,7 @@ static void __init palmld_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));
palmld_pm_init();
set_pxa_fb_info(&palmld_lcd_screen); set_pxa_fb_info(&palmld_lcd_screen);
pxa_set_mci_info(&palmld_mci_platform_data); pxa_set_mci_info(&palmld_mci_platform_data);
pxa_set_ac97_info(&palmld_ac97_pdata); pxa_set_ac97_info(&palmld_ac97_pdata);
......
...@@ -474,30 +474,18 @@ static struct pxafb_mach_info palmt5_lcd_screen = { ...@@ -474,30 +474,18 @@ static struct pxafb_mach_info palmt5_lcd_screen = {
/****************************************************************************** /******************************************************************************
* Power management - standby * Power management - standby
******************************************************************************/ ******************************************************************************/
#ifdef CONFIG_PM static void __init palmt5_pm_init(void)
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)
{ {
int i; static u32 resume[] = {
0xe3a00101, /* mov r0, #0x40000000 */
/* this is where the bootloader jumps */ 0xe380060f, /* orr r0, r0, #0x00f00000 */
addr = phys_to_virt(PALMT5_STR_BASE); 0xe590f008, /* ldr pc, [r0, #0x08] */
};
for (i = 0; i < 3; i++)
addr[i] = resume[i]; /* copy the bootloader */
memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
return 0;
} }
device_initcall(palmt5_pm_init);
#endif
/****************************************************************************** /******************************************************************************
* Machine init * Machine init
******************************************************************************/ ******************************************************************************/
...@@ -524,6 +512,7 @@ static void __init palmt5_init(void) ...@@ -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) ...@@ -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));
} }
......
...@@ -491,30 +491,18 @@ static struct pxafb_mach_info palmtx_lcd_screen = { ...@@ -491,30 +491,18 @@ static struct pxafb_mach_info palmtx_lcd_screen = {
/****************************************************************************** /******************************************************************************
* Power management - standby * Power management - standby
******************************************************************************/ ******************************************************************************/
#ifdef CONFIG_PM static void __init palmtx_pm_init(void)
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 palmtx_pm_init(void)
{ {
int i; static u32 resume[] = {
0xe3a00101, /* mov r0, #0x40000000 */
/* this is where the bootloader jumps */ 0xe380060f, /* orr r0, r0, #0x00f00000 */
addr = phys_to_virt(PALMTX_STR_BASE); 0xe590f008, /* ldr pc, [r0, #0x08] */
};
for (i = 0; i < 3; i++)
addr[i] = resume[i]; /* copy the bootloader */
memcpy(phys_to_virt(PALMTX_STR_BASE), resume, sizeof(resume));
return 0;
} }
device_initcall(palmtx_pm_init);
#endif
/****************************************************************************** /******************************************************************************
* Machine init * Machine init
******************************************************************************/ ******************************************************************************/
...@@ -557,6 +545,7 @@ static void __init palmtx_init(void) ...@@ -557,6 +545,7 @@ static void __init palmtx_init(void)
{ {
pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config)); pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));
palmtx_pm_init();
set_pxa_fb_info(&palmtx_lcd_screen); set_pxa_fb_info(&palmtx_lcd_screen);
pxa_set_mci_info(&palmtx_mci_platform_data); pxa_set_mci_info(&palmtx_mci_platform_data);
palmtx_udc_init(); palmtx_udc_init();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment