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_init_late(void); 26 27 void exynos_firmware_init(void); 28 29 extern struct smp_operations exynos_smp_ops; 30 31 extern void exynos_cpu_die(unsigned int cpu); 32 33 /* PMU(Power Management Unit) support */ 34 35 #define PMU_TABLE_END NULL 36 37 enum sys_powerdown { 38 SYS_AFTR, 39 SYS_LPA, 40 SYS_SLEEP, 41 NUM_SYS_POWERDOWN, 42 }; 43 44 extern unsigned long l2x0_regs_phys; 45 struct exynos_pmu_conf { 46 void __iomem *reg; 47 unsigned int val[NUM_SYS_POWERDOWN]; 48 }; 49 50 extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); 51 52 #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ 53