1 /* 2 * Copyright (c) 2011 Samsung Electronics Co., Ltd. 3 * http://www.samsung.com 4 * 5 * Common Header for EXYNOS machines 6 * 7 * This program is free software; you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License version 2 as 9 * published by the Free Software Foundation. 10 */ 11 12 #ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H 13 #define __ARCH_ARM_MACH_EXYNOS_COMMON_H 14 15 #include <linux/reboot.h> 16 #include <linux/of.h> 17 18 void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1); 19 20 struct map_desc; 21 void exynos_init_io(void); 22 void exynos4_restart(enum reboot_mode mode, const char *cmd); 23 void exynos5_restart(enum reboot_mode mode, const char *cmd); 24 void exynos_cpuidle_init(void); 25 void exynos_cpufreq_init(void); 26 void exynos_init_late(void); 27 28 void exynos_firmware_init(void); 29 30 extern struct smp_operations exynos_smp_ops; 31 32 extern void exynos_cpu_die(unsigned int cpu); 33 34 /* PMU(Power Management Unit) support */ 35 36 #define PMU_TABLE_END NULL 37 38 enum sys_powerdown { 39 SYS_AFTR, 40 SYS_LPA, 41 SYS_SLEEP, 42 NUM_SYS_POWERDOWN, 43 }; 44 45 extern unsigned long l2x0_regs_phys; 46 struct exynos_pmu_conf { 47 void __iomem *reg; 48 unsigned int val[NUM_SYS_POWERDOWN]; 49 }; 50 51 extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); 52 53 #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ 54