blob: 2b6dcff8ab2beb4ccf80c452d78e7ece974e0e64 [file] [log] [blame]
Kukjin Kim1a0e8a52010-01-14 08:13:37 +09001/* linux/arch/arm/plat-s5p/include/plat/s5p-clock.h
2 *
Kukjin Kim3109e552010-09-01 15:35:30 +09003 * Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
4 * http://www.samsung.com
Kukjin Kim1a0e8a52010-01-14 08:13:37 +09005 *
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_mpll clk_ext_xtal_mux
22#define clk_fin_epll clk_ext_xtal_mux
Kukjin Kim3109e552010-09-01 15:35:30 +090023#define clk_fin_dpll clk_ext_xtal_mux
Kukjin Kim0c1945d2010-02-24 16:40:36 +090024#define clk_fin_vpll clk_ext_xtal_mux
Thomas Abrahama443a632010-05-14 16:27:28 +090025#define clk_fin_hpll clk_ext_xtal_mux
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090026
27extern struct clk clk_ext_xtal_mux;
Thomas Abrahamf001d5b2010-04-19 20:05:08 +090028extern struct clk clk_xusbxti;
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090029extern struct clk clk_48m;
Thomas Abrahama443a632010-05-14 16:27:28 +090030extern struct clk s5p_clk_27m;
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090031extern struct clk clk_fout_apll;
32extern struct clk clk_fout_mpll;
33extern struct clk clk_fout_epll;
Kukjin Kim3109e552010-09-01 15:35:30 +090034extern struct clk clk_fout_dpll;
Thomas Abrahamf445dbd2010-05-17 09:38:52 +090035extern struct clk clk_fout_vpll;
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090036extern struct clk clk_arm;
Kukjin Kim0c1945d2010-02-24 16:40:36 +090037extern struct clk clk_vpll;
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090038
39extern struct clksrc_sources clk_src_apll;
40extern struct clksrc_sources clk_src_mpll;
41extern struct clksrc_sources clk_src_epll;
Kukjin Kim3109e552010-09-01 15:35:30 +090042extern struct clksrc_sources clk_src_dpll;
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090043
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090044extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);
45
Seungwhan Yound4b34c62010-10-14 10:39:08 +090046/* Common EPLL operations for S5P platform */
47extern int s5p_epll_enable(struct clk *clk, int enable);
48extern unsigned long s5p_epll_get_rate(struct clk *clk);
49
Kukjin Kim1a0e8a52010-01-14 08:13:37 +090050#endif /* __ASM_PLAT_S5P_CLOCK_H */