13 #include <linux/module.h>
14 #include <linux/kernel.h>
15 #include <linux/list.h>
16 #include <linux/errno.h>
19 #include <linux/device.h>
21 #include <asm/div64.h>
23 #include <mach/regs-clock.h>
25 #include <plat/clock.h>
72 .name =
"fout_bpll_div2",
92 .name =
"fout_mpll_div2",
100 .ctrlbit = (1 << 31),
107 .ctrlbit = (1 << 31),
114 .ctrlbit = (1 << 31),
118 static struct clk *clk_src_apll_list[] = {
120 [1] = &clk_fout_apll,
124 .sources = clk_src_apll_list,
129 static struct clk *clk_src_bpll_list[] = {
135 .sources = clk_src_bpll_list,
139 static struct clk *clk_src_bpll_fout_list[] = {
145 .sources = clk_src_bpll_fout_list,
146 .nr_sources =
ARRAY_SIZE(clk_src_bpll_fout_list),
150 static struct clk *clk_src_cpll_list[] = {
156 .sources = clk_src_cpll_list,
161 static struct clk *clk_src_mpll_list[] = {
167 .sources = clk_src_mpll_list,
171 static struct clk *clk_src_mpll_fout_list[] = {
177 .sources = clk_src_mpll_fout_list,
178 .nr_sources =
ARRAY_SIZE(clk_src_mpll_fout_list),
182 static struct clk *clk_src_epll_list[] = {
188 .sources = clk_src_epll_list,
193 static struct clk *clk_src_dpll_list[] = {
199 .sources = clk_src_dpll_list,
214 con = enable ? (con |
ctrlbit) : (con & ~ctrlbit);
246 ret = pclk->
ops->set_rate(pclk, rate);
261 rate = pclk->
ops->get_rate(pclk);
289 clk_ext_xtal_mux.
rate = xtal_freq;