Merge branch 'fix/asoc' into for-linus
[pandora-kernel.git] / arch / arm / mach-s5p64x0 / include / mach / s5p64x0-clock.h
1 /* linux/arch/arm/mach-s5p64x0/include/mach/s5p64x0-clock.h
2  *
3  * Copyright (c) 2010 Samsung Electronics Co., Ltd.
4  *              http://www.samsung.com
5  *
6  * Header file for s5p64x0 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_ARCH_CLOCK_H
14 #define __ASM_ARCH_CLOCK_H __FILE__
15
16 #include <linux/clk.h>
17
18 extern struct clksrc_clk clk_mout_apll;
19 extern struct clksrc_clk clk_mout_mpll;
20 extern struct clksrc_clk clk_mout_epll;
21
22 extern int s5p64x0_epll_enable(struct clk *clk, int enable);
23 extern unsigned long s5p64x0_epll_get_rate(struct clk *clk);
24
25 extern unsigned long s5p64x0_armclk_get_rate(struct clk *clk);
26 extern unsigned long s5p64x0_armclk_round_rate(struct clk *clk, unsigned long rate);
27 extern int s5p64x0_armclk_set_rate(struct clk *clk, unsigned long rate);
28
29 extern struct clk_ops s5p64x0_clkarm_ops;
30
31 extern struct clksrc_clk clk_armclk;
32 extern struct clksrc_clk clk_dout_mpll;
33
34 extern struct clk *clkset_hclk_low_list[];
35 extern struct clksrc_sources clkset_hclk_low;
36
37 extern int s5p64x0_pclk_ctrl(struct clk *clk, int enable);
38 extern int s5p64x0_hclk0_ctrl(struct clk *clk, int enable);
39 extern int s5p64x0_hclk1_ctrl(struct clk *clk, int enable);
40 extern int s5p64x0_sclk_ctrl(struct clk *clk, int enable);
41 extern int s5p64x0_sclk1_ctrl(struct clk *clk, int enable);
42 extern int s5p64x0_mem_ctrl(struct clk *clk, int enable);
43
44 extern int s5p64x0_clk48m_ctrl(struct clk *clk, int enable);
45
46 #endif /* __ASM_ARCH_CLOCK_H */