Merge master.kernel.org:/pub/scm/linux/kernel/git/lethal/genesis-2.6 into devel-stable
[pandora-kernel.git] / arch / arm / plat-s5p / include / plat / s5p-clock.h
1 /* linux/arch/arm/plat-s5p/include/plat/s5p-clock.h
2  *
3  * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
4  *              http://www.samsung.com
5  *
6  * Header file for s5p clock support
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License version 2 as
10  * published by the Free Software Foundation.
11 */
12
13 #ifndef __ASM_PLAT_S5P_CLOCK_H
14 #define __ASM_PLAT_S5P_CLOCK_H __FILE__
15
16 #include <linux/clk.h>
17
18 #define GET_DIV(clk, field) ((((clk) & field##_MASK) >> field##_SHIFT) + 1)
19
20 #define clk_fin_apll clk_ext_xtal_mux
21 #define clk_fin_mpll clk_ext_xtal_mux
22 #define clk_fin_epll clk_ext_xtal_mux
23 #define clk_fin_dpll clk_ext_xtal_mux
24 #define clk_fin_vpll clk_ext_xtal_mux
25 #define clk_fin_hpll clk_ext_xtal_mux
26
27 extern struct clk clk_ext_xtal_mux;
28 extern struct clk clk_xusbxti;
29 extern struct clk clk_48m;
30 extern struct clk s5p_clk_27m;
31 extern struct clk clk_fout_apll;
32 extern struct clk clk_fout_mpll;
33 extern struct clk clk_fout_epll;
34 extern struct clk clk_fout_dpll;
35 extern struct clk clk_fout_vpll;
36 extern struct clk clk_arm;
37 extern struct clk clk_vpll;
38
39 extern struct clksrc_sources clk_src_apll;
40 extern struct clksrc_sources clk_src_mpll;
41 extern struct clksrc_sources clk_src_epll;
42 extern struct clksrc_sources clk_src_dpll;
43
44 extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);
45
46 /* Common EPLL operations for S5P platform */
47 extern int s5p_epll_enable(struct clk *clk, int enable);
48 extern unsigned long s5p_epll_get_rate(struct clk *clk);
49
50 #endif /* __ASM_PLAT_S5P_CLOCK_H */