1cc511b8dSKukjin Kim /* 2cc511b8dSKukjin Kim * Copyright (c) 2011 Samsung Electronics Co., Ltd. 3cc511b8dSKukjin Kim * http://www.samsung.com 4cc511b8dSKukjin Kim * 5cc511b8dSKukjin Kim * Common Header for EXYNOS machines 6cc511b8dSKukjin Kim * 7cc511b8dSKukjin Kim * This program is free software; you can redistribute it and/or modify 8cc511b8dSKukjin Kim * it under the terms of the GNU General Public License version 2 as 9cc511b8dSKukjin Kim * published by the Free Software Foundation. 10cc511b8dSKukjin Kim */ 11cc511b8dSKukjin Kim 12cc511b8dSKukjin Kim #ifndef __ARCH_ARM_MACH_EXYNOS_COMMON_H 13cc511b8dSKukjin Kim #define __ARCH_ARM_MACH_EXYNOS_COMMON_H 14cc511b8dSKukjin Kim 157b6d864bSRobin Holt #include <linux/reboot.h> 166e6aac75SThomas Abraham #include <linux/of.h> 176e6aac75SThomas Abraham 18034c097cSArnd Bergmann void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1); 19906c789cSKukjin Kim 2006853ae4SMarc Zyngier struct map_desc; 210e2238ecSArnd Bergmann void exynos_init_io(void); 22cbf08b9eSSachin Kamat void exynos_restart(enum reboot_mode mode, const char *cmd); 2335baa336SBartlomiej Zolnierkiewicz void exynos_cpuidle_init(void); 24d568b6f7SLukasz Majewski void exynos_cpufreq_init(void); 25bb13fabcSShawn Guo void exynos_init_late(void); 26bb13fabcSShawn Guo 27bca28f8fSTomasz Figa void exynos_firmware_init(void); 28bca28f8fSTomasz Figa 2906853ae4SMarc Zyngier extern struct smp_operations exynos_smp_ops; 3006853ae4SMarc Zyngier 3106853ae4SMarc Zyngier extern void exynos_cpu_die(unsigned int cpu); 3206853ae4SMarc Zyngier 33ccd458c1SKukjin Kim /* PMU(Power Management Unit) support */ 34ccd458c1SKukjin Kim 35ccd458c1SKukjin Kim #define PMU_TABLE_END NULL 36ccd458c1SKukjin Kim 37ccd458c1SKukjin Kim enum sys_powerdown { 38ccd458c1SKukjin Kim SYS_AFTR, 39ccd458c1SKukjin Kim SYS_LPA, 40ccd458c1SKukjin Kim SYS_SLEEP, 41ccd458c1SKukjin Kim NUM_SYS_POWERDOWN, 42ccd458c1SKukjin Kim }; 43ccd458c1SKukjin Kim 44ccd458c1SKukjin Kim extern unsigned long l2x0_regs_phys; 45ccd458c1SKukjin Kim struct exynos_pmu_conf { 46ccd458c1SKukjin Kim void __iomem *reg; 47ccd458c1SKukjin Kim unsigned int val[NUM_SYS_POWERDOWN]; 48ccd458c1SKukjin Kim }; 49ccd458c1SKukjin Kim 50ccd458c1SKukjin Kim extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); 51ccd458c1SKukjin Kim 52cc511b8dSKukjin Kim #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ 53