summaryrefslogtreecommitdiffstats
path: root/uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c
diff options
context:
space:
mode:
Diffstat (limited to 'uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c')
-rw-r--r--uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c b/uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c
new file mode 100644
index 0000000..067085f
--- /dev/null
+++ b/uClinux-2.4.20-uc1/arch/armnommu/mach-W90N745/time.c
@@ -0,0 +1,30 @@
+/*
+ * time.c Timer functions for Winbond W90N745
+ */
+
+#include <linux/time.h>
+#include <linux/timex.h>
+#include <linux/types.h>
+#include <linux/sched.h>
+#include <asm/io.h>
+#include <asm/arch/hardware.h>
+#include <linux/interrupt.h>
+
+struct irqaction watchdog_irq = {
+ name: "watchdog",
+};
+
+unsigned long winbond_gettimeoffset (void)
+{
+ return 0;
+}
+
+void winbond_timer_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+ do_timer(regs);
+}
+
+void winbond_watchdog_interrupt(int irq, void *dev_id, struct pt_regs *regs)
+{
+ CSR_WRITE(WTCR, (CSR_READ(WTCR)&0xF7)|0x01);
+}