diff options
Diffstat (limited to 'arch/arm/plat-s5p/clock.c')
-rw-r--r-- | arch/arm/plat-s5p/clock.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/arch/arm/plat-s5p/clock.c b/arch/arm/plat-s5p/clock.c index 818800962694..8d081d968c58 100644 --- a/arch/arm/plat-s5p/clock.c +++ b/arch/arm/plat-s5p/clock.c | |||
@@ -21,6 +21,8 @@ | |||
21 | #include <linux/io.h> | 21 | #include <linux/io.h> |
22 | #include <asm/div64.h> | 22 | #include <asm/div64.h> |
23 | 23 | ||
24 | #include <mach/regs-clock.h> | ||
25 | |||
24 | #include <plat/clock.h> | 26 | #include <plat/clock.h> |
25 | #include <plat/clock-clksrc.h> | 27 | #include <plat/clock-clksrc.h> |
26 | #include <plat/s5p-clock.h> | 28 | #include <plat/s5p-clock.h> |
@@ -148,6 +150,24 @@ int s5p_gatectrl(void __iomem *reg, struct clk *clk, int enable) | |||
148 | return 0; | 150 | return 0; |
149 | } | 151 | } |
150 | 152 | ||
153 | int s5p_epll_enable(struct clk *clk, int enable) | ||
154 | { | ||
155 | unsigned int ctrlbit = clk->ctrlbit; | ||
156 | unsigned int epll_con = __raw_readl(S5P_EPLL_CON) & ~ctrlbit; | ||
157 | |||
158 | if (enable) | ||
159 | __raw_writel(epll_con | ctrlbit, S5P_EPLL_CON); | ||
160 | else | ||
161 | __raw_writel(epll_con, S5P_EPLL_CON); | ||
162 | |||
163 | return 0; | ||
164 | } | ||
165 | |||
166 | unsigned long s5p_epll_get_rate(struct clk *clk) | ||
167 | { | ||
168 | return clk->rate; | ||
169 | } | ||
170 | |||
151 | static struct clk *s5p_clks[] __initdata = { | 171 | static struct clk *s5p_clks[] __initdata = { |
152 | &clk_ext_xtal_mux, | 172 | &clk_ext_xtal_mux, |
153 | &clk_48m, | 173 | &clk_48m, |