Commit | Line | Data |
---|---|---|
cc511b8d KK |
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 | ||
7b6d864b | 15 | #include <linux/reboot.h> |
6e6aac75 TA |
16 | #include <linux/of.h> |
17 | ||
034c097c | 18 | void mct_init(void __iomem *base, int irq_g0, int irq_l0, int irq_l1); |
906c789c | 19 | |
06853ae4 | 20 | struct map_desc; |
0e2238ec | 21 | void exynos_init_io(void); |
cbf08b9e | 22 | void exynos_restart(enum reboot_mode mode, const char *cmd); |
35baa336 | 23 | void exynos_cpuidle_init(void); |
d568b6f7 | 24 | void exynos_cpufreq_init(void); |
bb13fabc SG |
25 | void exynos_init_late(void); |
26 | ||
bca28f8f TF |
27 | void exynos_firmware_init(void); |
28 | ||
d710aa31 TF |
29 | #ifdef CONFIG_PINCTRL_EXYNOS |
30 | extern u32 exynos_get_eint_wake_mask(void); | |
31 | #else | |
32 | static inline u32 exynos_get_eint_wake_mask(void) { return 0xffffffff; } | |
33 | #endif | |
34 | ||
559ba237 TF |
35 | #ifdef CONFIG_PM_SLEEP |
36 | extern void __init exynos_pm_init(void); | |
37 | #else | |
38 | static inline void exynos_pm_init(void) {} | |
39 | #endif | |
40 | ||
d710aa31 TF |
41 | extern void exynos_cpu_resume(void); |
42 | ||
06853ae4 MZ |
43 | extern struct smp_operations exynos_smp_ops; |
44 | ||
45 | extern void exynos_cpu_die(unsigned int cpu); | |
46 | ||
ccd458c1 KK |
47 | /* PMU(Power Management Unit) support */ |
48 | ||
49 | #define PMU_TABLE_END NULL | |
50 | ||
51 | enum sys_powerdown { | |
52 | SYS_AFTR, | |
53 | SYS_LPA, | |
54 | SYS_SLEEP, | |
55 | NUM_SYS_POWERDOWN, | |
56 | }; | |
57 | ||
58 | extern unsigned long l2x0_regs_phys; | |
59 | struct exynos_pmu_conf { | |
60 | void __iomem *reg; | |
61 | unsigned int val[NUM_SYS_POWERDOWN]; | |
62 | }; | |
63 | ||
64 | extern void exynos_sys_powerdown_conf(enum sys_powerdown mode); | |
ccd458c1 | 65 | |
cc511b8d | 66 | #endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */ |