aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips/mti-malta/malta-time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/mti-malta/malta-time.c')
-rw-r--r--arch/mips/mti-malta/malta-time.c16
1 files changed, 13 insertions, 3 deletions
diff --git a/arch/mips/mti-malta/malta-time.c b/arch/mips/mti-malta/malta-time.c
index a18af5fce67e..319009912142 100644
--- a/arch/mips/mti-malta/malta-time.c
+++ b/arch/mips/mti-malta/malta-time.c
@@ -42,8 +42,6 @@
42#include <asm/mips-boards/generic.h> 42#include <asm/mips-boards/generic.h>
43#include <asm/mips-boards/maltaint.h> 43#include <asm/mips-boards/maltaint.h>
44 44
45unsigned long cpu_khz;
46
47static int mips_cpu_timer_irq; 45static int mips_cpu_timer_irq;
48static int mips_cpu_perf_irq; 46static int mips_cpu_perf_irq;
49extern int cp0_perfcount_irq; 47extern int cp0_perfcount_irq;
@@ -168,11 +166,24 @@ unsigned int get_c0_compare_int(void)
168 return mips_cpu_timer_irq; 166 return mips_cpu_timer_irq;
169} 167}
170 168
169static void __init init_rtc(void)
170{
171 /* stop the clock whilst setting it up */
172 CMOS_WRITE(RTC_SET | RTC_24H, RTC_CONTROL);
173
174 /* 32KHz time base */
175 CMOS_WRITE(RTC_REF_CLCK_32KHZ, RTC_FREQ_SELECT);
176
177 /* start the clock */
178 CMOS_WRITE(RTC_24H, RTC_CONTROL);
179}
180
171void __init plat_time_init(void) 181void __init plat_time_init(void)
172{ 182{
173 unsigned int prid = read_c0_prid() & (PRID_COMP_MASK | PRID_IMP_MASK); 183 unsigned int prid = read_c0_prid() & (PRID_COMP_MASK | PRID_IMP_MASK);
174 unsigned int freq; 184 unsigned int freq;
175 185
186 init_rtc();
176 estimate_frequencies(); 187 estimate_frequencies();
177 188
178 freq = mips_hpt_frequency; 189 freq = mips_hpt_frequency;
@@ -182,7 +193,6 @@ void __init plat_time_init(void)
182 freq = freqround(freq, 5000); 193 freq = freqround(freq, 5000);
183 printk("CPU frequency %d.%02d MHz\n", freq/1000000, 194 printk("CPU frequency %d.%02d MHz\n", freq/1000000,
184 (freq%1000000)*100/1000000); 195 (freq%1000000)*100/1000000);
185 cpu_khz = freq / 1000;
186 196
187 mips_scroll_message(); 197 mips_scroll_message();
188 198