d4b34c6c84
S5P Samsung SoCs has a EPLL to support various PLL clock sources for other H/W blocks. Until now, to control EPLL, each of SoCs make their own functions in 'mach-s5pxxx/clock.c'. But some of functions, 'xxx_epll_get_rate()' and 'xxx_epll_enable()', are exactly same in all S5P SoCs, so this patch move these duplicated codes to common EPLL functions that use platform wide. Signed-off-by: Seungwhan Youn <sw.youn@samsung.com> Acked-by: Jassi Brar <jassi.brar@samsung.com> Signed-off-by: Kukjin Kim <kgene.kim@samsung.com>
50 lines
1.5 KiB
C
50 lines
1.5 KiB
C
/* linux/arch/arm/plat-s5p/include/plat/s5p-clock.h
|
|
*
|
|
* Copyright (c) 2009-2010 Samsung Electronics Co., Ltd.
|
|
* http://www.samsung.com
|
|
*
|
|
* 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
|
|
#define clk_fin_dpll clk_ext_xtal_mux
|
|
#define clk_fin_vpll clk_ext_xtal_mux
|
|
#define clk_fin_hpll clk_ext_xtal_mux
|
|
|
|
extern struct clk clk_ext_xtal_mux;
|
|
extern struct clk clk_xusbxti;
|
|
extern struct clk clk_48m;
|
|
extern struct clk s5p_clk_27m;
|
|
extern struct clk clk_fout_apll;
|
|
extern struct clk clk_fout_mpll;
|
|
extern struct clk clk_fout_epll;
|
|
extern struct clk clk_fout_dpll;
|
|
extern struct clk clk_fout_vpll;
|
|
extern struct clk clk_arm;
|
|
extern struct clk clk_vpll;
|
|
|
|
extern struct clksrc_sources clk_src_apll;
|
|
extern struct clksrc_sources clk_src_mpll;
|
|
extern struct clksrc_sources clk_src_epll;
|
|
extern struct clksrc_sources clk_src_dpll;
|
|
|
|
extern int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable);
|
|
|
|
/* 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);
|
|
|
|
#endif /* __ASM_PLAT_S5P_CLOCK_H */
|