Kukjin Kim | 3109e55 | 2010-09-01 15:35:30 +0900 | [diff] [blame^] | 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 */ |