2 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
3 * http://www.samsung.com
5 * Common Header for S3C24XX SoCs
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.
12 #ifndef __ARCH_ARM_MACH_S3C24XX_COMMON_H
13 #define __ARCH_ARM_MACH_S3C24XX_COMMON_H __FILE__
15 struct s3c2410_uartcfg;
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);
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
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);
41 #define s3c2412_init_clocks NULL
42 #define s3c2412_init_uarts NULL
43 #define s3c2412_map_io NULL
44 #define s3c2412_init NULL
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);
56 extern struct syscore_ops s3c2416_irq_syscore_ops;
58 #define s3c2416_init_clocks NULL
59 #define s3c2416_init_uarts NULL
60 #define s3c2416_map_io NULL
61 #define s3c2416_init NULL
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);
70 #define s3c244x_init_clocks NULL
71 #define s3c244x_init_uarts NULL
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);
79 #define s3c2440_init NULL
80 #define s3c2440_map_io NULL
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);
88 #define s3c2442_init NULL
89 #define s3c2442_map_io NULL
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);
101 #define s3c2443_init_clocks NULL
102 #define s3c2443_init_uarts NULL
103 #define s3c2443_map_io NULL
104 #define s3c2443_init NULL
107 extern struct syscore_ops s3c24xx_irq_syscore_ops;
109 #endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */