[ARM] pxa/palm: Palm TX, T5, LD suspend-to-mem rework
Signed-off-by: Marek Vasut <marek.vasut@gmail.com> Signed-off-by: Eric Miao <eric.miao@marvell.com>
This commit is contained in:
parent
37330efd4a
commit
fc9c1b6fc8
3 changed files with 28 additions and 60 deletions
|
@ -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 = {
|
static u32 resume[] = {
|
||||||
0xe3a00101, /* mov r0, #0x40000000 */
|
0xe3a00101, /* mov r0, #0x40000000 */
|
||||||
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
||||||
0xe590f008, /* ldr pc, [r0, #0x08] */
|
0xe590f008, /* ldr pc, [r0, #0x08] */
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init palmld_pm_init(void)
|
/* copy the bootloader */
|
||||||
{
|
memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume));
|
||||||
int i;
|
|
||||||
|
|
||||||
/* this is where the bootloader jumps */
|
|
||||||
addr = phys_to_virt(PALMLD_STR_BASE);
|
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
|
||||||
addr[i] = resume[i];
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
device_initcall(palmld_pm_init);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Machine init
|
* Machine init
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
@ -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 = {
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* 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 = {
|
static u32 resume[] = {
|
||||||
0xe3a00101, /* mov r0, #0x40000000 */
|
0xe3a00101, /* mov r0, #0x40000000 */
|
||||||
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
||||||
0xe590f008, /* ldr pc, [r0, #0x08] */
|
0xe590f008, /* ldr pc, [r0, #0x08] */
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init palmt5_pm_init(void)
|
/* copy the bootloader */
|
||||||
{
|
memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
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));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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 = {
|
static u32 resume[] = {
|
||||||
0xe3a00101, /* mov r0, #0x40000000 */
|
0xe3a00101, /* mov r0, #0x40000000 */
|
||||||
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
0xe380060f, /* orr r0, r0, #0x00f00000 */
|
||||||
0xe590f008, /* ldr pc, [r0, #0x08] */
|
0xe590f008, /* ldr pc, [r0, #0x08] */
|
||||||
};
|
};
|
||||||
|
|
||||||
static int __init palmtx_pm_init(void)
|
/* copy the bootloader */
|
||||||
{
|
memcpy(phys_to_virt(PALMTX_STR_BASE), resume, sizeof(resume));
|
||||||
int i;
|
|
||||||
|
|
||||||
/* this is where the bootloader jumps */
|
|
||||||
addr = phys_to_virt(PALMTX_STR_BASE);
|
|
||||||
|
|
||||||
for (i = 0; i < 3; i++)
|
|
||||||
addr[i] = resume[i];
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
device_initcall(palmtx_pm_init);
|
|
||||||
#endif
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* Machine init
|
* Machine init
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
@ -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();
|
||||||
|
|
Loading…
Add table
Reference in a new issue