20 #include <linux/kernel.h>
21 #include <asm/clock.h>
26 #define bfc_divisors ifc_divisors
27 static int pfc_divisors[] = { 2, 3, 4, 6, 8, 2, 2, 2 };
29 static void master_clk_init(
struct clk *
clk)
34 static struct sh_clk_ops sh4_master_clk_ops = {
35 .init = master_clk_init,
38 static unsigned long module_clk_recalc(
struct clk *
clk)
41 return clk->
parent->rate / pfc_divisors[
idx];
44 static struct sh_clk_ops sh4_module_clk_ops = {
45 .recalc = module_clk_recalc,
48 static unsigned long bus_clk_recalc(
struct clk *
clk)
55 .recalc = bus_clk_recalc,
58 static unsigned long cpu_clk_recalc(
struct clk *
clk)
65 .recalc = cpu_clk_recalc,
78 *ops = sh4_clk_ops[
idx];