2011-03-10 13:33:59 +09:00
/* linux/arch/arm/mach-exynos4/include/mach/pm-core.h
*
* Copyright ( c ) 2011 Samsung Electronics Co . , Ltd .
* http : //www.samsung.com
*
* Based on arch / arm / mach - s3c2410 / include / mach / pm - core . h ,
* Copyright 2008 Simtec Electronics
* Ben Dooks < ben @ simtec . co . uk >
* http : //armlinux.simtec.co.uk/
*
* EXYNOS4210 - PM core support for arch / arm / plat - s5p / pm . c
*
* 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 .
*/
2011-09-28 10:38:12 +09:00
# ifndef __ASM_ARCH_PM_CORE_H
# define __ASM_ARCH_PM_CORE_H __FILE__
2013-05-17 18:24:28 +02:00
# include <linux/of.h>
2011-03-10 13:33:59 +09:00
# include <mach/regs-pmu.h>
2013-05-17 18:24:28 +02:00
# ifdef CONFIG_PINCTRL_EXYNOS
extern u32 exynos_get_eint_wake_mask ( void ) ;
# else
static inline u32 exynos_get_eint_wake_mask ( void ) { return 0xffffffff ; }
# endif
2011-03-10 13:33:59 +09:00
static inline void s3c_pm_debug_init_uart ( void )
{
/* nothing here yet */
}
static inline void s3c_pm_arch_prepare_irqs ( void )
{
2013-05-17 18:24:28 +02:00
u32 eintmask = s3c_irqwake_eintmask ;
if ( of_have_populated_dt ( ) )
eintmask = exynos_get_eint_wake_mask ( ) ;
__raw_writel ( eintmask , S5P_EINT_WAKEUP_MASK ) ;
2013-04-04 15:15:49 +09:00
__raw_writel ( s3c_irqwake_intmask & ~ ( 1 < < 31 ) , S5P_WAKEUP_MASK ) ;
2011-03-10 13:33:59 +09:00
}
static inline void s3c_pm_arch_stop_clocks ( void )
{
/* nothing here yet */
}
static inline void s3c_pm_arch_show_resume_irqs ( void )
{
/* nothing here yet */
}
static inline void s3c_pm_arch_update_uart ( void __iomem * regs ,
struct pm_uart_save * save )
{
/* nothing here yet */
}
2011-06-13 15:47:17 +09:00
static inline void s3c_pm_restored_gpios ( void )
{
/* nothing here yet */
}
2011-08-30 20:47:32 +09:00
static inline void samsung_pm_saved_gpios ( void )
2011-06-13 15:47:17 +09:00
{
/* nothing here yet */
}
2011-09-28 10:38:12 +09:00
2013-06-15 09:13:26 +09:00
/* Compatibility definitions to make plat-samsung/pm.c compile */
2013-06-15 09:28:55 +09:00
# define IRQ_EINT_BIT(x) 1
2013-06-15 09:13:26 +09:00
# define s3c_irqwake_intallow 0
# define s3c_irqwake_eintallow 0
2011-09-28 10:38:12 +09:00
# endif /* __ASM_ARCH_PM_CORE_H */