summaryrefslogtreecommitdiffstats
path: root/arch/mips64/sgi-ip22/ip22-rtc.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/mips64/sgi-ip22/ip22-rtc.c')
-rw-r--r--arch/mips64/sgi-ip22/ip22-rtc.c37
1 files changed, 37 insertions, 0 deletions
diff --git a/arch/mips64/sgi-ip22/ip22-rtc.c b/arch/mips64/sgi-ip22/ip22-rtc.c
new file mode 100644
index 000000000..f138ff27f
--- /dev/null
+++ b/arch/mips64/sgi-ip22/ip22-rtc.c
@@ -0,0 +1,37 @@
+/* $Id$
+ *
+ * This file is subject to the terms and conditions of the GNU General Public
+ * License. See the file "COPYING" in the main directory of this archive
+ * for more details.
+ *
+ * RTC routines for Indy style attached Dallas chip.
+ *
+ * Copyright (C) 1998 by Ralf Baechle
+ */
+#include <linux/mc146818rtc.h>
+#include <asm/sgi/sgihpc.h>
+
+static unsigned char indy_rtc_read_data(unsigned long addr)
+{
+ volatile unsigned int *rtcregs = (void *)INDY_CLOCK_REGS;
+
+ return rtcregs[addr];
+}
+
+static void indy_rtc_write_data(unsigned char data, unsigned long addr)
+{
+ volatile unsigned int *rtcregs = (void *)INDY_CLOCK_REGS;
+
+ rtcregs[addr] = data;
+}
+
+static int indy_rtc_bcd_mode(void)
+{
+ return 0;
+}
+
+struct rtc_ops indy_rtc_ops = {
+ &indy_rtc_read_data,
+ &indy_rtc_write_data,
+ &indy_rtc_bcd_mode
+};