Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
[deliverable/linux.git] / arch / arm / mach-exynos / common.h
CommitLineData
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
6bb27d73 15extern void exynos4_timer_init(void);
906c789c 16
06853ae4 17struct map_desc;
cc511b8d
KK
18void exynos_init_io(struct map_desc *mach_desc, int size);
19void exynos4_init_irq(void);
94c7ca71 20void exynos5_init_irq(void);
906c789c 21void exynos4_restart(char mode, const char *cmd);
94c7ca71 22void exynos5_restart(char mode, const char *cmd);
bb13fabc
SG
23void exynos_init_late(void);
24
25#ifdef CONFIG_PM_GENERIC_DOMAINS
26int exynos_pm_late_initcall(void);
27#else
d0c2e4e4 28static inline int exynos_pm_late_initcall(void) { return 0; }
bb13fabc 29#endif
cc511b8d 30
a855039e 31#ifdef CONFIG_ARCH_EXYNOS4
cc511b8d
KK
32void exynos4_register_clocks(void);
33void exynos4_setup_clocks(void);
34
a855039e
KK
35#else
36#define exynos4_register_clocks()
37#define exynos4_setup_clocks()
a855039e
KK
38#endif
39
94c7ca71
KK
40#ifdef CONFIG_ARCH_EXYNOS5
41void exynos5_register_clocks(void);
42void exynos5_setup_clocks(void);
43
44#else
45#define exynos5_register_clocks()
46#define exynos5_setup_clocks()
47#endif
48
906c789c
KK
49#ifdef CONFIG_CPU_EXYNOS4210
50void exynos4210_register_clocks(void);
9eb48595 51
906c789c
KK
52#else
53#define exynos4210_register_clocks()
54#endif
cc511b8d 55
906c789c
KK
56#ifdef CONFIG_SOC_EXYNOS4212
57void exynos4212_register_clocks(void);
cc511b8d
KK
58
59#else
906c789c 60#define exynos4212_register_clocks()
cc511b8d
KK
61#endif
62
a900e5d9
RH
63struct device_node;
64void combiner_init(void __iomem *combiner_base, struct device_node *np);
65
06853ae4
MZ
66extern struct smp_operations exynos_smp_ops;
67
68extern void exynos_cpu_die(unsigned int cpu);
69
ccd458c1
KK
70/* PMU(Power Management Unit) support */
71
72#define PMU_TABLE_END NULL
73
74enum sys_powerdown {
75 SYS_AFTR,
76 SYS_LPA,
77 SYS_SLEEP,
78 NUM_SYS_POWERDOWN,
79};
80
81extern unsigned long l2x0_regs_phys;
82struct exynos_pmu_conf {
83 void __iomem *reg;
84 unsigned int val[NUM_SYS_POWERDOWN];
85};
86
87extern void exynos_sys_powerdown_conf(enum sys_powerdown mode);
88extern void s3c_cpu_resume(void);
89
cc511b8d 90#endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */
This page took 0.100312 seconds and 5 git commands to generate.