summaryrefslogtreecommitdiff
path: root/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/olympus/mrobe-500/kernel-mr500.c')
-rw-r--r--firmware/target/arm/olympus/mrobe-500/kernel-mr500.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c b/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
index 450f0e6b03..3ac0730691 100644
--- a/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
+++ b/firmware/target/arm/olympus/mrobe-500/kernel-mr500.c
@@ -27,7 +27,19 @@ extern void (*tick_funcs[MAX_NUM_TICK_TASKS])(void);
27 27
28void tick_start(unsigned int interval_in_ms) 28void tick_start(unsigned int interval_in_ms)
29{ 29{
30 (void)interval_in_ms; 30 IO_TIMER1_TMMD = CONFIG_TIMER1_TMMD_STOP;
31
32 /* Setup the Prescalar */
33 IO_TIMER1_TMPRSCL = CONFIG_TIMER1_TMPRSCL;
34
35 /* Setup the Divisor */
36 IO_TIMER1_TMDIV = CONFIG_TIMER1_TMDIV;
37
38 /* Turn Timer1 to Free Run mode */
39 IO_TIMER1_TMMD = CONFIG_TIMER1_TMMD_FREE_RUN;
40
41 /* Enable the interrupt */
42 IO_INTC_EINT0 |= 1<<IRQ_TIMER1;
31} 43}
32 44
33void TIMER4(void) 45void TIMER4(void)
@@ -45,4 +57,5 @@ void TIMER4(void)
45 57
46 current_tick++; 58 current_tick++;
47 59
60 IO_INTC_IRQ0 |= 1<<IRQ_TIMER1;
48} 61}