diff options
Diffstat (limited to 'arch/mips/mti-malta/malta-time.c')
-rw-r--r-- | arch/mips/mti-malta/malta-time.c | 16 |
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 | ||
45 | unsigned long cpu_khz; | ||
46 | |||
47 | static int mips_cpu_timer_irq; | 45 | static int mips_cpu_timer_irq; |
48 | static int mips_cpu_perf_irq; | 46 | static int mips_cpu_perf_irq; |
49 | extern int cp0_perfcount_irq; | 47 | extern 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 | ||
169 | static 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 | |||
171 | void __init plat_time_init(void) | 181 | void __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 | ||