Merge tag 'locks-v3.16-2' of git://git.samba.org/jlayton/linux
[linux/fpc-iii.git] / arch / arm / plat-samsung / include / plat / s5p-clock.h
blob8364b4bea8b8f5e3add2e8a3fa454a0314ec8d9f
1 /* linux/arch/arm/plat-samsung/include/plat/s5p-clock.h
3 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
6 * Header file for s5p clock support
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.
13 #ifndef __ASM_PLAT_S5P_CLOCK_H
14 #define __ASM_PLAT_S5P_CLOCK_H __FILE__
16 #include <linux/clk.h>
18 #define GET_DIV(clk, field) ((((clk) & field##_MASK) >> field##_SHIFT) + 1)
20 #define clk_fin_apll clk_ext_xtal_mux
21 #define clk_fin_bpll clk_ext_xtal_mux
22 #define clk_fin_cpll clk_ext_xtal_mux
23 #define clk_fin_mpll clk_ext_xtal_mux
24 #define clk_fin_epll clk_ext_xtal_mux
25 #define clk_fin_dpll clk_ext_xtal_mux
26 #define clk_fin_vpll clk_ext_xtal_mux
27 #define clk_fin_hpll clk_ext_xtal_mux
29 extern struct clk clk_ext_xtal_mux;
30 extern struct clk clk_xusbxti;
31 extern struct clk clk_48m;
32 extern struct clk s5p_clk_27m;
33 extern struct clk clk_fout_apll;
34 extern struct clk clk_fout_bpll;
35 extern struct clk clk_fout_bpll_div2;
36 extern struct clk clk_fout_cpll;
37 extern struct clk clk_fout_mpll;
38 extern struct clk clk_fout_mpll_div2;
39 extern struct clk clk_fout_epll;
40 extern struct clk clk_fout_dpll;
41 extern struct clk clk_fout_vpll;
42 extern struct clk clk_arm;
43 extern struct clk clk_vpll;
45 extern struct clksrc_sources clk_src_apll;
46 extern struct clksrc_sources clk_src_bpll;
47 extern struct clksrc_sources clk_src_bpll_fout;
48 extern struct clksrc_sources clk_src_cpll;
49 extern struct clksrc_sources clk_src_mpll;
50 extern struct clksrc_sources clk_src_mpll_fout;
51 extern struct clksrc_sources clk_src_epll;
52 extern struct clksrc_sources clk_src_dpll;
54 extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);
56 /* Common EPLL operations for S5P platform */
57 extern int s5p_epll_enable(struct clk *clk, int enable);
58 extern unsigned long s5p_epll_get_rate(struct clk *clk);
60 /* SPDIF clk operations common for S5PC100/V210/C110 and Exynos4 */
61 extern int s5p_spdif_set_rate(struct clk *clk, unsigned long rate);
62 extern unsigned long s5p_spdif_get_rate(struct clk *clk);
64 extern struct clk_ops s5p_sclk_spdif_ops;
65 #endif /* __ASM_PLAT_S5P_CLOCK_H */