summaryrefslogtreecommitdiff
path: root/arch/mips/jz4740/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/jz4740/time.c')
-rw-r--r--arch/mips/jz4740/time.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/mips/jz4740/time.c b/arch/mips/jz4740/time.c
index 78ed7652ef67..f66f7f5bbe87 100644
--- a/arch/mips/jz4740/time.c
+++ b/arch/mips/jz4740/time.c
@@ -13,6 +13,7 @@
*
*/
+#include <linux/clk.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/time.h>
@@ -115,11 +116,17 @@ void __init plat_time_init(void)
int ret;
uint32_t clk_rate;
uint16_t ctrl;
+ struct clk *ext_clk;
jz4740_clock_init();
jz4740_timer_init();
- clk_rate = jz4740_clock_bdata.ext_rate >> 4;
+ ext_clk = clk_get(NULL, "ext");
+ if (IS_ERR(ext_clk))
+ panic("unable to get ext clock");
+ clk_rate = clk_get_rate(ext_clk) >> 4;
+ clk_put(ext_clk);
+
jz4740_jiffies_per_tick = DIV_ROUND_CLOSEST(clk_rate, HZ);
clockevent_set_clock(&jz4740_clockevent, clk_rate);