Commit 62248ae8 authored by Colin Cross's avatar Colin Cross

ARM: tegra: timer: Enable timer and rtc clocks

Enable the timer and rtc clocks to prevent them being
turned off by the bootloader clock disabling code.
Signed-off-by: default avatarColin Cross <ccross@android.com>
Acked-by: default avatarOlof Johansson <olof@lixom.net>
parent 0cf6230a
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
*/ */
#include <linux/init.h> #include <linux/init.h>
#include <linux/err.h>
#include <linux/sched.h> #include <linux/sched.h>
#include <linux/time.h> #include <linux/time.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
...@@ -193,9 +194,22 @@ static struct irqaction tegra_timer_irq = { ...@@ -193,9 +194,22 @@ static struct irqaction tegra_timer_irq = {
static void __init tegra_init_timer(void) static void __init tegra_init_timer(void)
{ {
struct clk *clk;
unsigned long rate = clk_measure_input_freq(); unsigned long rate = clk_measure_input_freq();
int ret; int ret;
clk = clk_get_sys("timer", NULL);
BUG_ON(IS_ERR(clk));
clk_enable(clk);
/*
* rtc registers are used by read_persistent_clock, keep the rtc clock
* enabled
*/
clk = clk_get_sys("rtc-tegra", NULL);
BUG_ON(IS_ERR(clk));
clk_enable(clk);
#ifdef CONFIG_HAVE_ARM_TWD #ifdef CONFIG_HAVE_ARM_TWD
twd_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x600); twd_base = IO_ADDRESS(TEGRA_ARM_PERIF_BASE + 0x600);
#endif #endif
...@@ -239,8 +253,6 @@ static void __init tegra_init_timer(void) ...@@ -239,8 +253,6 @@ static void __init tegra_init_timer(void)
tegra_clockevent.cpumask = cpu_all_mask; tegra_clockevent.cpumask = cpu_all_mask;
tegra_clockevent.irq = tegra_timer_irq.irq; tegra_clockevent.irq = tegra_timer_irq.irq;
clockevents_register_device(&tegra_clockevent); clockevents_register_device(&tegra_clockevent);
return;
} }
struct sys_timer tegra_timer = { struct sys_timer tegra_timer = {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment