2009-05-28 10:56:16 -07:00
/*
* OMAP2 / 3 Power Management Routines
*
* Copyright ( C ) 2008 Nokia Corporation
* Jouni Hogander
*
* This program is free software ; you can redistribute it and / or modify
* it under the terms of the GNU General Public License version 2 as
* published by the Free Software Foundation .
*/
# ifndef __ARCH_ARM_MACH_OMAP2_PM_H
# define __ARCH_ARM_MACH_OMAP2_PM_H
2008-10-15 18:13:48 +03:00
# include <mach/powerdomain.h>
2008-11-26 12:26:24 +02:00
extern int omap3_pm_get_suspend_state ( struct powerdomain * pwrdm ) ;
extern int omap3_pm_set_suspend_state ( struct powerdomain * pwrdm , int state ) ;
2009-05-28 10:56:16 -07:00
# ifdef CONFIG_PM_DEBUG
extern void omap2_pm_dump ( int mode , int resume , unsigned int us ) ;
extern int omap2_pm_debug ;
2008-10-15 18:13:48 +03:00
extern void pm_dbg_update_time ( struct powerdomain * pwrdm , int prev ) ;
2008-10-29 13:31:24 +02:00
extern int pm_dbg_regset_save ( int reg_set ) ;
extern int pm_dbg_regset_init ( int reg_set ) ;
2009-05-28 10:56:16 -07:00
# else
# define omap2_pm_dump(mode, resume, us) do {} while (0);
# define omap2_pm_debug 0
2008-10-15 18:13:48 +03:00
# define pm_dbg_update_time(pwrdm, prev) do {} while (0);
2008-10-29 13:31:24 +02:00
# define pm_dbg_regset_save(reg_set) do {} while (0);
# define pm_dbg_regset_init(reg_set) do {} while (0);
2009-05-28 10:56:16 -07:00
# endif /* CONFIG_PM_DEBUG */
extern void omap24xx_idle_loop_suspend ( void ) ;
extern void omap24xx_cpu_suspend ( u32 dll_ctrl , void __iomem * sdrc_dlla_ctrl ,
void __iomem * sdrc_power ) ;
extern void omap34xx_cpu_suspend ( u32 * addr , int save_state ) ;
extern void save_secure_ram_context ( u32 * addr ) ;
extern unsigned int omap24xx_idle_loop_suspend_sz ;
extern unsigned int omap34xx_suspend_sz ;
extern unsigned int save_secure_ram_context_sz ;
extern unsigned int omap24xx_cpu_suspend_sz ;
extern unsigned int omap34xx_cpu_suspend_sz ;
# endif