16 #include <linux/kernel.h>
17 #include <asm/clock.h>
21 static const int pll1rate[]={1,2,3,4,6,8};
22 static const int pfc_divisors[]={1,2,3,4,6,8,12};
23 #define ifc_divisors pfc_divisors
25 static unsigned int pll2_mult;
27 static void master_clk_init(
struct clk *
clk)
32 static struct sh_clk_ops sh7206_master_clk_ops = {
33 .init = master_clk_init,
36 static unsigned long module_clk_recalc(
struct clk *
clk)
39 return clk->
parent->rate / pfc_divisors[
idx];
42 static struct sh_clk_ops sh7206_module_clk_ops = {
43 .recalc = module_clk_recalc,
46 static unsigned long bus_clk_recalc(
struct clk *
clk)
51 static struct sh_clk_ops sh7206_bus_clk_ops = {
52 .recalc = bus_clk_recalc,
55 static unsigned long cpu_clk_recalc(
struct clk *
clk)
61 static struct sh_clk_ops sh7206_cpu_clk_ops = {
62 .recalc = cpu_clk_recalc,
66 &sh7206_master_clk_ops,
67 &sh7206_module_clk_ops,
82 *ops = sh7206_clk_ops[
idx];