blob: aed2eeb065179f46f5d9b374974020b96e0a05a2 [file] [log] [blame]
Kukjin Kimcc511b82011-12-27 08:18:36 +01001/*
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
Kukjin Kim906c7892012-02-11 21:27:08 +090015extern struct sys_timer exynos4_timer;
16
Kukjin Kimcc511b82011-12-27 08:18:36 +010017void exynos_init_io(struct map_desc *mach_desc, int size);
18void exynos4_init_irq(void);
Kukjin Kim94c7ca72012-02-11 22:15:45 +090019void exynos5_init_irq(void);
Kukjin Kim906c7892012-02-11 21:27:08 +090020void exynos4_restart(char mode, const char *cmd);
Kukjin Kim94c7ca72012-02-11 22:15:45 +090021void exynos5_restart(char mode, const char *cmd);
Shawn Guobb13fab2012-04-26 10:35:40 +080022void exynos_init_late(void);
23
24#ifdef CONFIG_PM_GENERIC_DOMAINS
25int exynos_pm_late_initcall(void);
26#else
27static int exynos_pm_late_initcall(void) { return 0; }
28#endif
Kukjin Kimcc511b82011-12-27 08:18:36 +010029
Kukjin Kima8550392012-03-09 14:19:10 -080030#ifdef CONFIG_ARCH_EXYNOS4
Kukjin Kimcc511b82011-12-27 08:18:36 +010031void exynos4_register_clocks(void);
32void exynos4_setup_clocks(void);
33
Kukjin Kima8550392012-03-09 14:19:10 -080034#else
35#define exynos4_register_clocks()
36#define exynos4_setup_clocks()
Kukjin Kima8550392012-03-09 14:19:10 -080037#endif
38
Kukjin Kim94c7ca72012-02-11 22:15:45 +090039#ifdef CONFIG_ARCH_EXYNOS5
40void exynos5_register_clocks(void);
41void exynos5_setup_clocks(void);
42
43#else
44#define exynos5_register_clocks()
45#define exynos5_setup_clocks()
46#endif
47
Kukjin Kim906c7892012-02-11 21:27:08 +090048#ifdef CONFIG_CPU_EXYNOS4210
49void exynos4210_register_clocks(void);
Kukjin Kimcc511b82011-12-27 08:18:36 +010050
51#else
Kukjin Kim906c7892012-02-11 21:27:08 +090052#define exynos4210_register_clocks()
53#endif
54
55#ifdef CONFIG_SOC_EXYNOS4212
56void exynos4212_register_clocks(void);
57
58#else
59#define exynos4212_register_clocks()
Kukjin Kimcc511b82011-12-27 08:18:36 +010060#endif
61
62#endif /* __ARCH_ARM_MACH_EXYNOS_COMMON_H */