s5p-clock.h 1.8 KB
Newer Older
1
/* linux/arch/arm/plat-samsung/include/plat/s5p-clock.h
2
 *
3 4
 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
 *		http://www.samsung.com
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
 *
 * Header file for s5p clock support
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
*/

#ifndef __ASM_PLAT_S5P_CLOCK_H
#define __ASM_PLAT_S5P_CLOCK_H __FILE__

#include <linux/clk.h>

#define GET_DIV(clk, field) ((((clk) & field##_MASK) >> field##_SHIFT) + 1)

#define clk_fin_apll clk_ext_xtal_mux
#define clk_fin_mpll clk_ext_xtal_mux
#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 32 33
extern struct clk clk_fout_apll;
extern struct clk clk_fout_mpll;
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 40 41

extern struct clksrc_sources clk_src_apll;
extern struct clksrc_sources clk_src_mpll;
extern struct clksrc_sources clk_src_epll;
42
extern struct clksrc_sources clk_src_dpll;
43 44 45

extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);

46 47 48 49
/* Common EPLL operations for S5P platform */
extern int s5p_epll_enable(struct clk *clk, int enable);
extern unsigned long s5p_epll_get_rate(struct clk *clk);

50 51 52 53 54
/* SPDIF clk operations common for S5PC100/V210/C110 and Exynos4 */
extern int s5p_spdif_set_rate(struct clk *clk, unsigned long rate);
extern unsigned long s5p_spdif_get_rate(struct clk *clk);

extern struct clk_ops s5p_sclk_spdif_ops;
55
#endif /* __ASM_PLAT_S5P_CLOCK_H */