clk: ti: dra7: fix kernel boot with arg 'clocksource=gp_timer'
authorGrygorii Strashko <grygorii.strashko@ti.com>
Thu, 10 Dec 2015 17:03:45 +0000 (19:03 +0200)
committerStephen Boyd <sboyd@codeaurora.org>
Sat, 16 Apr 2016 00:30:07 +0000 (17:30 -0700)
The OMAP Platform code provides possibility to select GP Timer as
default clocksource instead of counter_32K by using bootcmd parameter
'clocksource', but the system will crash during early boot when this
option is used on dra7 or omap5 platforms, because it will hit BUG()
statement:

 omap2_gptimer_clocksource_init
  ->BUG_ON(res);

This happens because clk_dev alias "sys_clkin_ck" is not registered.
Hence, fix it by adding missing "sys_clkin_ck" clk_dev aliases
definitions for omap5 and dra7.

Acked-by: Tero Kristo <t-kristo@ti.com>
Cc: Tony Lindgren <tony@atomide.com>
Signed-off-by: Grygorii Strashko <grygorii.strashko@ti.com>
Signed-off-by: Stephen Boyd <sboyd@codeaurora.org>
drivers/clk/ti/clk-54xx.c
drivers/clk/ti/clk-7xx.c

index 59ce2fa2c104a3a79e1cd490962a04aca8f2ab28..294bc03ec067d58949e97d551200a92e7091ff0f 100644 (file)
@@ -210,6 +210,7 @@ static struct ti_dt_clk omap54xx_clks[] = {
        DT_CLK("usbhs_omap", "usbtll_fck", "dummy_ck"),
        DT_CLK("omap_wdt", "ick", "dummy_ck"),
        DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"),
+       DT_CLK(NULL, "sys_clkin_ck", "sys_clkin"),
        DT_CLK("4ae18000.timer", "timer_sys_ck", "sys_clkin"),
        DT_CLK("48032000.timer", "timer_sys_ck", "sys_clkin"),
        DT_CLK("48034000.timer", "timer_sys_ck", "sys_clkin"),
index a911d7de33778d7bc7648e59f0ee60c1a6c83027..87a87b5089ea23152e6a25b4a90692bea4f508ad 100644 (file)
@@ -289,6 +289,7 @@ static struct ti_dt_clk dra7xx_clks[] = {
        DT_CLK("usbhs_omap", "usbtll_fck", "dummy_ck"),
        DT_CLK("omap_wdt", "ick", "dummy_ck"),
        DT_CLK(NULL, "timer_32k_ck", "sys_32k_ck"),
+       DT_CLK(NULL, "sys_clkin_ck", "timer_sys_clk_div"),
        DT_CLK("4ae18000.timer", "timer_sys_ck", "timer_sys_clk_div"),
        DT_CLK("48032000.timer", "timer_sys_ck", "timer_sys_clk_div"),
        DT_CLK("48034000.timer", "timer_sys_ck", "timer_sys_clk_div"),