summaryrefslogtreecommitdiffstats
path: root/arch/mips/loongson64/common/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips/loongson64/common/time.c')
-rw-r--r--arch/mips/loongson64/common/time.c36
1 files changed, 36 insertions, 0 deletions
diff --git a/arch/mips/loongson64/common/time.c b/arch/mips/loongson64/common/time.c
new file mode 100644
index 000000000000..e1a5382ad47e
--- /dev/null
+++ b/arch/mips/loongson64/common/time.c
@@ -0,0 +1,36 @@
+/*
+ * Copyright (C) 2007 Lemote, Inc. & Institute of Computing Technology
+ * Author: Fuxin Zhang, zhangfx@lemote.com
+ *
+ * Copyright (C) 2009 Lemote Inc.
+ * Author: Wu Zhangjin, wuzhangjin@gmail.com
+ *
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the
+ * Free Software Foundation; either version 2 of the License, or (at your
+ * option) any later version.
+ */
+#include <asm/mc146818-time.h>
+#include <asm/time.h>
+#include <asm/hpet.h>
+
+#include <loongson.h>
+#include <cs5536/cs5536_mfgpt.h>
+
+void __init plat_time_init(void)
+{
+ /* setup mips r4k timer */
+ mips_hpt_frequency = cpu_clock_freq / 2;
+
+#ifdef CONFIG_RS780_HPET
+ setup_hpet_timer();
+#else
+ setup_mfgpt0_timer();
+#endif
+}
+
+void read_persistent_clock(struct timespec *ts)
+{
+ ts->tv_sec = mc146818_get_cmos_time();
+ ts->tv_nsec = 0;
+}