summaryrefslogtreecommitdiff
path: root/firmware/target/arm/tms320dm320/timer-dm320.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/tms320dm320/timer-dm320.c')
-rw-r--r--firmware/target/arm/tms320dm320/timer-dm320.c17
1 files changed, 11 insertions, 6 deletions
diff --git a/firmware/target/arm/tms320dm320/timer-dm320.c b/firmware/target/arm/tms320dm320/timer-dm320.c
index 030d645664..0b7ad893d3 100644
--- a/firmware/target/arm/tms320dm320/timer-dm320.c
+++ b/firmware/target/arm/tms320dm320/timer-dm320.c
@@ -45,7 +45,7 @@ bool timer_set(long cycles, bool start)
45 45
46 oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL); 46 oldlevel = set_irq_level(HIGHEST_IRQ_LEVEL);
47 47
48 IO_CLK_MOD2 |= CLK_MOD2_TMR0; //enable TIMER0 clock!!!!!!!!! 48 bitset16(&IO_CLK_MOD2, CLK_MOD2_TMR0); /* enable TIMER0 clock */
49 49
50 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_STOP; 50 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_STOP;
51 51
@@ -74,13 +74,16 @@ bool timer_set(long cycles, bool start)
74 74
75static void stop_timer(void) 75static void stop_timer(void)
76{ 76{
77 IO_INTC_EINT0 &= ~INTR_EINT0_TMR0; //disable TIMER0 interrupt 77 /* disable TIMER0 interrupt */
78 bitclr16(&IO_INTC_EINT0, INTR_EINT0_TMR0);
78 79
79 IO_INTC_IRQ0 = INTR_IRQ0_TMR0; //clear TIMER0 interrupt 80 /* clear TIMER0 interrupt */
81 IO_INTC_IRQ0 = INTR_IRQ0_TMR0;
80 82
81 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_STOP; 83 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_STOP;
82 84
83 IO_CLK_MOD2 &= ~CLK_MOD2_TMR0; //disable TIMER0 clock 85 /* disable TIMER0 clock */
86 bitclr16(&IO_CLK_MOD2, CLK_MOD2_TMR0);
84} 87}
85 88
86bool timer_start(void) 89bool timer_start(void)
@@ -89,12 +92,14 @@ bool timer_start(void)
89 92
90 stop_timer(); 93 stop_timer();
91 94
92 IO_CLK_MOD2 |= CLK_MOD2_TMR0; //enable TIMER0 clock!!!!!!!!! 95 /* enable TIMER0 clock */
96 bitset16(&IO_CLK_MOD2, CLK_MOD2_TMR0);
93 97
94 /* Turn Timer0 to Free Run mode */ 98 /* Turn Timer0 to Free Run mode */
95 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_FREE_RUN; 99 IO_TIMER0_TMMD = CONFIG_TIMER0_TMMD_FREE_RUN;
96 100
97 IO_INTC_EINT0 |= INTR_EINT0_TMR0; //enable TIMER0 interrupt 101 /* enable TIMER0 interrupt */
102 bitset16(&IO_INTC_EINT0, INTR_EINT0_TMR0);
98 103
99 restore_interrupt(oldstatus); 104 restore_interrupt(oldstatus);
100 105