#include <asm/mach/irq.h>
#include <asm/mach-types.h>
-#include <asm/arch/irqs.h>
-#include <asm/arch/clock.h>
-#include <asm/arch/sram.h>
-#include <asm/arch/control.h>
-#include <asm/arch/gpio.h>
-#include <asm/arch/pm.h>
-#include <asm/arch/mux.h>
-#include <asm/arch/dma.h>
-#include <asm/arch/board.h>
+#include <mach/irqs.h>
+#include <mach/clock.h>
+#include <mach/sram.h>
+#include <mach/control.h>
+#include <mach/gpio.h>
+#include <mach/pm.h>
+#include <mach/mux.h>
+#include <mach/dma.h>
+#include <mach/board.h>
#include "prm.h"
#include "prm-regbits-24xx.h"
#include "sdrc.h"
#include "pm.h"
-#include <asm/arch/powerdomain.h>
-#include <asm/arch/clockdomain.h>
+#include <mach/powerdomain.h>
+#include <mach/clockdomain.h>
static void (*omap2_sram_idle)(void);
-static void (*omap2_sram_suspend)(void __iomem *dllctrl);
+static void (*omap2_sram_suspend)(u32 dllctrl, void __iomem *sdrc_dlla_ctrl,
+ void __iomem *sdrc_power);
static void (*saved_idle)(void);
static struct powerdomain *mpu_pwrdm;
serial_console_sleep(1);
/* Jump to SRAM suspend code */
- omap2_sram_suspend(OMAP_SDRC_REGADDR(SDRC_DLLA_CTRL));
+ omap2_sram_suspend(sdrc_read_reg(SDRC_DLLA_CTRL),
+ OMAP_SDRC_REGADDR(SDRC_DLLA_CTRL),
+ OMAP_SDRC_REGADDR(SDRC_POWER));
no_sleep:
serial_console_sleep(0);
* These routines need to be in SRAM as that's the only
* memory the MPU can see when it wakes up.
*/
- if (cpu_is_omap242x()) {
- omap2_sram_idle = omap_sram_push(omap242x_idle_loop_suspend,
- omap242x_idle_loop_suspend_sz);
-
- omap2_sram_suspend = omap_sram_push(omap242x_cpu_suspend,
- omap242x_cpu_suspend_sz);
- } else {
- omap2_sram_idle = omap_sram_push(omap243x_idle_loop_suspend,
- omap243x_idle_loop_suspend_sz);
+ if (cpu_is_omap24xx()) {
+ omap2_sram_idle = omap_sram_push(omap24xx_idle_loop_suspend,
+ omap24xx_idle_loop_suspend_sz);
- omap2_sram_suspend = omap_sram_push(omap243x_cpu_suspend,
- omap243x_cpu_suspend_sz);
+ omap2_sram_suspend = omap_sram_push(omap24xx_cpu_suspend,
+ omap24xx_cpu_suspend_sz);
}
suspend_set_ops(&omap_pm_ops);