Browse Source

ARM: OMAP2+: timer: add support for fetching fck handle from DT

The mux clock handle shall be provided via "fck" DT handle. This avoids
the need to lookup the main clock via hwmod core, which will not work
with the clkctrl clock support anymore; the main clock is not going to
be a mux.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Tero Kristo 8 years ago
parent
commit
138f7ca78f
1 changed files with 4 additions and 1 deletions
  1. 4 1
      arch/arm/mach-omap2/timer.c

+ 4 - 1
arch/arm/mach-omap2/timer.c

@@ -255,6 +255,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
 
 
 		timer->io_base = of_iomap(np, 0);
 		timer->io_base = of_iomap(np, 0);
 
 
+		timer->fclk = of_clk_get_by_name(np, "fck");
+
 		of_node_put(np);
 		of_node_put(np);
 	} else {
 	} else {
 		if (omap_dm_timer_reserve_systimer(timer->id))
 		if (omap_dm_timer_reserve_systimer(timer->id))
@@ -292,7 +294,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
 	omap_hwmod_setup_one(oh_name);
 	omap_hwmod_setup_one(oh_name);
 
 
 	/* After the dmtimer is using hwmod these clocks won't be needed */
 	/* After the dmtimer is using hwmod these clocks won't be needed */
-	timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
+	if (IS_ERR_OR_NULL(timer->fclk))
+		timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
 	if (IS_ERR(timer->fclk))
 	if (IS_ERR(timer->fclk))
 		return PTR_ERR(timer->fclk);
 		return PTR_ERR(timer->fclk);