abefeb38bba4dbcdc150079bc19505912d3538ea
[sfrench/cifs-2.6.git] / arch / arm / mach-s3c24xx / common.h
1 /*
2  * Copyright (c) 2012 Samsung Electronics Co., Ltd.
3  *              http://www.samsung.com
4  *
5  * Common Header for S3C24XX SoCs
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_S3C24XX_COMMON_H
13 #define __ARCH_ARM_MACH_S3C24XX_COMMON_H __FILE__
14
15 struct s3c2410_uartcfg;
16
17 #ifdef CONFIG_CPU_S3C2410
18 extern  int s3c2410_init(void);
19 extern  int s3c2410a_init(void);
20 extern void s3c2410_map_io(void);
21 extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no);
22 extern void s3c2410_init_clocks(int xtal);
23 extern void s3c2410_restart(char mode, const char *cmd);
24 #else
25 #define s3c2410_init_clocks NULL
26 #define s3c2410_init_uarts NULL
27 #define s3c2410_map_io NULL
28 #define s3c2410_init NULL
29 #define s3c2410a_init NULL
30 #endif
31
32 #ifdef CONFIG_CPU_S3C2412
33 extern  int s3c2412_init(void);
34 extern void s3c2412_map_io(void);
35 extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no);
36 extern void s3c2412_init_clocks(int xtal);
37 extern  int s3c2412_baseclk_add(void);
38 extern void s3c2412_restart(char mode, const char *cmd);
39 extern void s3c2412_init_irq(void);
40 #else
41 #define s3c2412_init_clocks NULL
42 #define s3c2412_init_uarts NULL
43 #define s3c2412_map_io NULL
44 #define s3c2412_init NULL
45 #endif
46
47 #ifdef CONFIG_CPU_S3C2416
48 extern  int s3c2416_init(void);
49 extern void s3c2416_map_io(void);
50 extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no);
51 extern void s3c2416_init_clocks(int xtal);
52 extern  int s3c2416_baseclk_add(void);
53 extern void s3c2416_restart(char mode, const char *cmd);
54 extern void s3c2416_init_irq(void);
55
56 extern struct syscore_ops s3c2416_irq_syscore_ops;
57 #else
58 #define s3c2416_init_clocks NULL
59 #define s3c2416_init_uarts NULL
60 #define s3c2416_map_io NULL
61 #define s3c2416_init NULL
62 #endif
63
64 #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442)
65 extern void s3c244x_map_io(void);
66 extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no);
67 extern void s3c244x_init_clocks(int xtal);
68 extern void s3c244x_restart(char mode, const char *cmd);
69 #else
70 #define s3c244x_init_clocks NULL
71 #define s3c244x_init_uarts NULL
72 #endif
73
74 #ifdef CONFIG_CPU_S3C2440
75 extern  int s3c2440_init(void);
76 extern void s3c2440_map_io(void);
77 extern void s3c2440_init_irq(void);
78 #else
79 #define s3c2440_init NULL
80 #define s3c2440_map_io NULL
81 #endif
82
83 #ifdef CONFIG_CPU_S3C2442
84 extern  int s3c2442_init(void);
85 extern void s3c2442_map_io(void);
86 extern void s3c2442_init_irq(void);
87 #else
88 #define s3c2442_init NULL
89 #define s3c2442_map_io NULL
90 #endif
91
92 #ifdef CONFIG_CPU_S3C2443
93 extern  int s3c2443_init(void);
94 extern void s3c2443_map_io(void);
95 extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no);
96 extern void s3c2443_init_clocks(int xtal);
97 extern  int s3c2443_baseclk_add(void);
98 extern void s3c2443_restart(char mode, const char *cmd);
99 extern void s3c2443_init_irq(void);
100 #else
101 #define s3c2443_init_clocks NULL
102 #define s3c2443_init_uarts NULL
103 #define s3c2443_map_io NULL
104 #define s3c2443_init NULL
105 #endif
106
107 extern struct syscore_ops s3c24xx_irq_syscore_ops;
108
109 #endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */