Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

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

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

parent 37330efd
Loading
Loading
Loading
Loading
+10 −21
Original line number Diff line number Diff line
@@ -524,30 +524,18 @@ static struct pxafb_mach_info palmld_lcd_screen = {
/******************************************************************************
 * Power management - standby
 ******************************************************************************/
#ifdef CONFIG_PM
static u32 *addr __initdata;
static u32 resume[3] __initdata = {
static void __init palmld_pm_init(void)
{
	static u32 resume[] = {
		0xe3a00101,	/* mov	r0,	#0x40000000 */
		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
		0xe590f008,	/* ldr	pc, [r0, #0x08] */
	};

static int __init palmld_pm_init(void)
{
	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;
	/* copy the bootloader */
	memcpy(phys_to_virt(PALMLD_STR_BASE), resume, sizeof(resume));
}

device_initcall(palmld_pm_init);
#endif

/******************************************************************************
 * Machine init
 ******************************************************************************/
@@ -586,6 +574,7 @@ static void __init palmld_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmld_pin_config));

	palmld_pm_init();
	set_pxa_fb_info(&palmld_lcd_screen);
	pxa_set_mci_info(&palmld_mci_platform_data);
	pxa_set_ac97_info(&palmld_ac97_pdata);
+11 −21
Original line number Diff line number Diff line
@@ -474,30 +474,18 @@ static struct pxafb_mach_info palmt5_lcd_screen = {
/******************************************************************************
 * Power management - standby
 ******************************************************************************/
#ifdef CONFIG_PM
static u32 *addr __initdata;
static u32 resume[3] __initdata = {
static void __init palmt5_pm_init(void)
{
	static u32 resume[] = {
		0xe3a00101,	/* mov	r0,	#0x40000000 */
		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
		0xe590f008,	/* ldr	pc, [r0, #0x08] */
	};

static int __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;
	/* copy the bootloader */
	memcpy(phys_to_virt(PALMT5_STR_BASE), resume, sizeof(resume));
}

device_initcall(palmt5_pm_init);
#endif

/******************************************************************************
 * Machine init
 ******************************************************************************/
@@ -524,6 +512,7 @@ static void __init palmt5_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmt5_pin_config));

	palmt5_pm_init();
	set_pxa_fb_info(&palmt5_lcd_screen);
	pxa_set_mci_info(&palmt5_mci_platform_data);
	palmt5_udc_init();
@@ -531,6 +520,7 @@ static void __init palmt5_init(void)
	pxa_set_ficp_info(&palmt5_ficp_platform_data);
	pxa_set_keypad_info(&palmt5_keypad_platform_data);
	wm97xx_bat_set_pdata(&wm97xx_batt_pdata);

	platform_add_devices(devices, ARRAY_SIZE(devices));
}

+10 −21
Original line number Diff line number Diff line
@@ -491,30 +491,18 @@ static struct pxafb_mach_info palmtx_lcd_screen = {
/******************************************************************************
 * Power management - standby
 ******************************************************************************/
#ifdef CONFIG_PM
static u32 *addr __initdata;
static u32 resume[3] __initdata = {
static void __init palmtx_pm_init(void)
{
	static u32 resume[] = {
		0xe3a00101,	/* mov	r0,	#0x40000000 */
		0xe380060f,	/* orr	r0, r0, #0x00f00000 */
		0xe590f008,	/* ldr	pc, [r0, #0x08] */
	};

static int __init palmtx_pm_init(void)
{
	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;
	/* copy the bootloader */
	memcpy(phys_to_virt(PALMTX_STR_BASE), resume, sizeof(resume));
}

device_initcall(palmtx_pm_init);
#endif

/******************************************************************************
 * Machine init
 ******************************************************************************/
@@ -557,6 +545,7 @@ static void __init palmtx_init(void)
{
	pxa2xx_mfp_config(ARRAY_AND_SIZE(palmtx_pin_config));

	palmtx_pm_init();
	set_pxa_fb_info(&palmtx_lcd_screen);
	pxa_set_mci_info(&palmtx_mci_platform_data);
	palmtx_udc_init();