aboutsummaryrefslogtreecommitdiff
path: root/src/cpu/allwinner/a10/timer.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/cpu/allwinner/a10/timer.c')
-rw-r--r--src/cpu/allwinner/a10/timer.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/cpu/allwinner/a10/timer.c b/src/cpu/allwinner/a10/timer.c
index 60cc60c4d1..7d5d1419c3 100644
--- a/src/cpu/allwinner/a10/timer.c
+++ b/src/cpu/allwinner/a10/timer.c
@@ -11,6 +11,7 @@
#include <delay.h>
#include <timer.h>
+struct a1x_timer_module *const timer_module = (void *)A1X_TIMER_BASE;
struct a1x_timer *const tmr0 =
&((struct a1x_timer_module *)A1X_TIMER_BASE)->timer[0];
@@ -53,3 +54,13 @@ void udelay(unsigned usec)
}
}
+
+/*
+ * This function has nothing to do with timers; however, the chip revision
+ * register is in the timer module, so keep this function here.
+ */
+u8 a1x_get_cpu_chip_revision(void)
+{
+ write32(0, &timer_module->cpu_cfg);
+ return (read32(&timer_module->cpu_cfg) >> 6) & 0x3;
+}