Commit | Line | Data |
---|---|---|
8551f3ff KK |
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 | ||
7488335d | 15 | struct s3c2410_uartcfg; |
e1a621da | 16 | |
7488335d | 17 | #ifdef CONFIG_CPU_S3C2410 |
e1a621da HS |
18 | extern int s3c2410_init(void); |
19 | extern int s3c2410a_init(void); | |
e1a621da | 20 | extern void s3c2410_map_io(void); |
e1a621da | 21 | extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
e1a621da | 22 | extern void s3c2410_init_clocks(int xtal); |
7488335d | 23 | extern void s3c2410_restart(char mode, const char *cmd); |
f182aa1d | 24 | extern void s3c2410_init_irq(void); |
e1a621da HS |
25 | #else |
26 | #define s3c2410_init_clocks NULL | |
27 | #define s3c2410_init_uarts NULL | |
28 | #define s3c2410_map_io NULL | |
29 | #define s3c2410_init NULL | |
30 | #define s3c2410a_init NULL | |
31 | #endif | |
32 | ||
33 | #ifdef CONFIG_CPU_S3C2412 | |
e1a621da | 34 | extern int s3c2412_init(void); |
e1a621da | 35 | extern void s3c2412_map_io(void); |
e1a621da | 36 | extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
e1a621da | 37 | extern void s3c2412_init_clocks(int xtal); |
e1a621da | 38 | extern int s3c2412_baseclk_add(void); |
e1a621da | 39 | extern void s3c2412_restart(char mode, const char *cmd); |
0da09930 | 40 | extern void s3c2412_init_irq(void); |
e1a621da HS |
41 | #else |
42 | #define s3c2412_init_clocks NULL | |
43 | #define s3c2412_init_uarts NULL | |
44 | #define s3c2412_map_io NULL | |
45 | #define s3c2412_init NULL | |
e1a621da HS |
46 | #endif |
47 | ||
48 | #ifdef CONFIG_CPU_S3C2416 | |
e1a621da | 49 | extern int s3c2416_init(void); |
e1a621da | 50 | extern void s3c2416_map_io(void); |
e1a621da | 51 | extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
e1a621da | 52 | extern void s3c2416_init_clocks(int xtal); |
e1a621da | 53 | extern int s3c2416_baseclk_add(void); |
e1a621da | 54 | extern void s3c2416_restart(char mode, const char *cmd); |
e1a621da | 55 | extern void s3c2416_init_irq(void); |
e1a621da | 56 | |
7488335d | 57 | extern struct syscore_ops s3c2416_irq_syscore_ops; |
e1a621da HS |
58 | #else |
59 | #define s3c2416_init_clocks NULL | |
60 | #define s3c2416_init_uarts NULL | |
61 | #define s3c2416_map_io NULL | |
62 | #define s3c2416_init NULL | |
e1a621da HS |
63 | #endif |
64 | ||
65 | #if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442) | |
e1a621da | 66 | extern void s3c244x_map_io(void); |
e1a621da | 67 | extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
e1a621da | 68 | extern void s3c244x_init_clocks(int xtal); |
7488335d | 69 | extern void s3c244x_restart(char mode, const char *cmd); |
e1a621da HS |
70 | #else |
71 | #define s3c244x_init_clocks NULL | |
72 | #define s3c244x_init_uarts NULL | |
73 | #endif | |
74 | ||
75 | #ifdef CONFIG_CPU_S3C2440 | |
76 | extern int s3c2440_init(void); | |
e1a621da | 77 | extern void s3c2440_map_io(void); |
ce6c164b | 78 | extern void s3c2440_init_irq(void); |
e1a621da HS |
79 | #else |
80 | #define s3c2440_init NULL | |
81 | #define s3c2440_map_io NULL | |
82 | #endif | |
83 | ||
84 | #ifdef CONFIG_CPU_S3C2442 | |
85 | extern int s3c2442_init(void); | |
e1a621da | 86 | extern void s3c2442_map_io(void); |
ce6c164b | 87 | extern void s3c2442_init_irq(void); |
e1a621da HS |
88 | #else |
89 | #define s3c2442_init NULL | |
90 | #define s3c2442_map_io NULL | |
91 | #endif | |
92 | ||
93 | #ifdef CONFIG_CPU_S3C2443 | |
e1a621da | 94 | extern int s3c2443_init(void); |
e1a621da | 95 | extern void s3c2443_map_io(void); |
e1a621da | 96 | extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no); |
e1a621da | 97 | extern void s3c2443_init_clocks(int xtal); |
e1a621da | 98 | extern int s3c2443_baseclk_add(void); |
e1a621da | 99 | extern void s3c2443_restart(char mode, const char *cmd); |
e1a621da HS |
100 | extern void s3c2443_init_irq(void); |
101 | #else | |
102 | #define s3c2443_init_clocks NULL | |
103 | #define s3c2443_init_uarts NULL | |
104 | #define s3c2443_map_io NULL | |
105 | #define s3c2443_init NULL | |
e1a621da HS |
106 | #endif |
107 | ||
d8fdec16 HS |
108 | extern struct syscore_ops s3c24xx_irq_syscore_ops; |
109 | ||
8551f3ff | 110 | #endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */ |