2011-12-27 08:18:36 +01:00
/*
* Copyright ( c ) 2011 Samsung Electronics Co . , Ltd .
* http : //www.samsung.com
*
* Common Header for EXYNOS machines
*
* 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_EXYNOS_COMMON_H
# define __ARCH_ARM_MACH_EXYNOS_COMMON_H
2013-07-08 16:01:40 -07:00
# include <linux/reboot.h>
2013-03-09 17:03:05 +09:00
# include <linux/of.h>
2013-04-10 11:35:29 +02:00
void mct_init ( void __iomem * base , int irq_g0 , int irq_l0 , int irq_l1 ) ;
2012-02-11 21:27:08 +09:00
2011-09-08 13:15:22 +01:00
struct map_desc ;
2014-05-13 07:13:44 +09:00
extern void __iomem * sysram_ns_base_addr ;
2013-06-19 01:36:47 +09:00
void exynos_init_io ( void ) ;
2014-03-21 02:14:30 +09:00
void exynos_restart ( enum reboot_mode mode , const char * cmd ) ;
2013-08-30 12:15:04 +02:00
void exynos_cpuidle_init ( void ) ;
2013-11-28 13:42:42 +01:00
void exynos_cpufreq_init ( void ) ;
2012-04-26 10:35:40 +08:00
void exynos_init_late ( void ) ;
2012-12-11 13:58:43 +09:00
void exynos_firmware_init ( void ) ;
2014-03-18 07:28:27 +09: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
2014-03-18 07:28:22 +09:00
# ifdef CONFIG_PM_SLEEP
extern void __init exynos_pm_init ( void ) ;
# else
static inline void exynos_pm_init ( void ) { }
# endif
2014-03-18 07:28:27 +09:00
extern void exynos_cpu_resume ( void ) ;
2011-09-08 13:15:22 +01:00
extern struct smp_operations exynos_smp_ops ;
extern void exynos_cpu_die ( unsigned int cpu ) ;
2012-12-31 10:06:48 -08:00
/* PMU(Power Management Unit) support */
# define PMU_TABLE_END NULL
enum sys_powerdown {
SYS_AFTR ,
SYS_LPA ,
SYS_SLEEP ,
NUM_SYS_POWERDOWN ,
} ;
extern unsigned long l2x0_regs_phys ;
struct exynos_pmu_conf {
void __iomem * reg ;
unsigned int val [ NUM_SYS_POWERDOWN ] ;
} ;
extern void exynos_sys_powerdown_conf ( enum sys_powerdown mode ) ;
2014-05-16 04:23:24 +09:00
extern void exynos_cpu_power_down ( int cpu ) ;
extern void exynos_cpu_power_up ( int cpu ) ;
extern int exynos_cpu_power_state ( int cpu ) ;
2012-12-31 10:06:48 -08:00
2011-12-27 08:18:36 +01:00
# endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */