Merge tag 'nfs-for-4.8-1' of git://git.linux-nfs.org/projects/trondmy/linux-nfs
[deliverable/linux.git] / arch / arm / mach-s3c24xx / common.h
CommitLineData
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
7b6d864b
RH
15#include <linux/reboot.h>
16
7488335d 17struct s3c2410_uartcfg;
e1a621da 18
7488335d 19#ifdef CONFIG_CPU_S3C2410
e1a621da
HS
20extern int s3c2410_init(void);
21extern int s3c2410a_init(void);
e1a621da 22extern void s3c2410_map_io(void);
e1a621da 23extern void s3c2410_init_uarts(struct s3c2410_uartcfg *cfg, int no);
e1a621da 24extern void s3c2410_init_clocks(int xtal);
f182aa1d 25extern void s3c2410_init_irq(void);
e1a621da
HS
26#else
27#define s3c2410_init_clocks NULL
28#define s3c2410_init_uarts NULL
29#define s3c2410_map_io NULL
30#define s3c2410_init NULL
31#define s3c2410a_init NULL
32#endif
33
34#ifdef CONFIG_CPU_S3C2412
e1a621da 35extern int s3c2412_init(void);
e1a621da 36extern void s3c2412_map_io(void);
e1a621da 37extern void s3c2412_init_uarts(struct s3c2410_uartcfg *cfg, int no);
e1a621da 38extern void s3c2412_init_clocks(int xtal);
e1a621da 39extern int s3c2412_baseclk_add(void);
0da09930 40extern 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 49extern int s3c2416_init(void);
e1a621da 50extern void s3c2416_map_io(void);
e1a621da 51extern void s3c2416_init_uarts(struct s3c2410_uartcfg *cfg, int no);
e1a621da 52extern void s3c2416_init_clocks(int xtal);
e1a621da 53extern int s3c2416_baseclk_add(void);
e1a621da 54extern void s3c2416_init_irq(void);
e1a621da 55
7488335d 56extern struct syscore_ops s3c2416_irq_syscore_ops;
e1a621da
HS
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
e1a621da
HS
62#endif
63
64#if defined(CONFIG_CPU_S3C2440) || defined(CONFIG_CPU_S3C2442)
e1a621da 65extern void s3c244x_map_io(void);
e1a621da 66extern void s3c244x_init_uarts(struct s3c2410_uartcfg *cfg, int no);
e1a621da 67#else
e1a621da
HS
68#define s3c244x_init_uarts NULL
69#endif
70
71#ifdef CONFIG_CPU_S3C2440
72extern int s3c2440_init(void);
e1a621da 73extern void s3c2440_map_io(void);
4659c534 74extern void s3c2440_init_clocks(int xtal);
ce6c164b 75extern void s3c2440_init_irq(void);
e1a621da
HS
76#else
77#define s3c2440_init NULL
78#define s3c2440_map_io NULL
79#endif
80
81#ifdef CONFIG_CPU_S3C2442
82extern int s3c2442_init(void);
e1a621da 83extern void s3c2442_map_io(void);
4659c534 84extern void s3c2442_init_clocks(int xtal);
ce6c164b 85extern void s3c2442_init_irq(void);
e1a621da
HS
86#else
87#define s3c2442_init NULL
88#define s3c2442_map_io NULL
89#endif
90
91#ifdef CONFIG_CPU_S3C2443
e1a621da 92extern int s3c2443_init(void);
e1a621da 93extern void s3c2443_map_io(void);
e1a621da 94extern void s3c2443_init_uarts(struct s3c2410_uartcfg *cfg, int no);
e1a621da 95extern void s3c2443_init_clocks(int xtal);
e1a621da 96extern int s3c2443_baseclk_add(void);
e1a621da
HS
97extern void s3c2443_init_irq(void);
98#else
99#define s3c2443_init_clocks NULL
100#define s3c2443_init_uarts NULL
101#define s3c2443_map_io NULL
102#define s3c2443_init NULL
e1a621da
HS
103#endif
104
d8fdec16
HS
105extern struct syscore_ops s3c24xx_irq_syscore_ops;
106
1fecf895 107extern struct platform_device s3c2410_device_dma;
f2dda07d 108extern struct platform_device s3c2412_device_dma;
1fecf895 109extern struct platform_device s3c2440_device_dma;
f2dda07d
HS
110extern struct platform_device s3c2443_device_dma;
111
51cb1289
HS
112extern struct platform_device s3c2410_device_dclk;
113
4659c534
HS
114#ifdef CONFIG_S3C2410_COMMON_CLK
115void __init s3c2410_common_clk_init(struct device_node *np, unsigned long xti_f,
116 int current_soc,
117 void __iomem *reg_base);
118#endif
3c27f314
HS
119#ifdef CONFIG_S3C2412_COMMON_CLK
120void __init s3c2412_common_clk_init(struct device_node *np, unsigned long xti_f,
121 unsigned long ext_f, void __iomem *reg_base);
122#endif
dfc0f509
HS
123#ifdef CONFIG_S3C2443_COMMON_CLK
124void __init s3c2443_common_clk_init(struct device_node *np, unsigned long xti_f,
125 int current_soc,
126 void __iomem *reg_base);
127#endif
128
8551f3ff 129#endif /* __ARCH_ARM_MACH_S3C24XX_COMMON_H */
This page took 0.214959 seconds and 5 git commands to generate.