Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
s5p-clock.h
Go to the documentation of this file.
1 /* linux/arch/arm/plat-samsung/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_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
28 
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;
44 
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;
53 
54 extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);
55 
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);
59 
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);
63 
64 extern struct clk_ops s5p_sclk_spdif_ops;
65 #endif /* __ASM_PLAT_S5P_CLOCK_H */