# HG changeset patch # User Paul Boddie # Date 1457729932 -3600 # Node ID 99e3f06d9dd413d832bab85df95baddc76ee0dd9 # Parent a0e0d9c0874f281a8959a0ad42ad391c8d2f6607 Moved board-specific timer operations to the appropriate files. diff -r a0e0d9c0874f -r 99e3f06d9dd4 stage2/board-minipc.c --- a/stage2/board-minipc.c Tue Mar 01 00:55:13 2016 +0100 +++ b/stage2/board-minipc.c Fri Mar 11 21:58:52 2016 +0100 @@ -89,6 +89,12 @@ __intc_unmask_irq(TIMER_CHAN_IRQ); } +void timer_clear(void) +{ + __intc_ack_irq(TIMER_CHAN_IRQ); + __ost_clear_uf(TIMER_CHAN); +} + /* Board startup detection. */ int is_started(void) diff -r a0e0d9c0874f -r 99e3f06d9dd4 stage2/board-nanonote.c --- a/stage2/board-nanonote.c Tue Mar 01 00:55:13 2016 +0100 +++ b/stage2/board-nanonote.c Fri Mar 11 21:58:52 2016 +0100 @@ -147,6 +147,12 @@ __intc_unmask_irq(TIMER_CHAN_IRQ); } +void timer_clear(void) +{ + __intc_ack_irq(TIMER_CHAN_IRQ); + __tcu_clear_full_match_flag(TIMER_CHAN); +} + /* Board startup detection. */ int is_started(void) diff -r a0e0d9c0874f -r 99e3f06d9dd4 stage2/board-specific.h --- a/stage2/board-specific.h Tue Mar 01 00:55:13 2016 +0100 +++ b/stage2/board-specific.h Fri Mar 11 21:58:52 2016 +0100 @@ -8,6 +8,7 @@ void rtc_init(void); void timer_init(void); void timer_init_irq(void); +void timer_clear(void); int is_started(void); #endif /* __BOARD_SPECIFIC_H__ */ diff -r a0e0d9c0874f -r 99e3f06d9dd4 stage2/irq.c --- a/stage2/irq.c Tue Mar 01 00:55:13 2016 +0100 +++ b/stage2/irq.c Fri Mar 11 21:58:52 2016 +0100 @@ -97,8 +97,7 @@ /* Clear interrupt status. */ - __intc_ack_irq(TIMER_CHAN_IRQ); - __tcu_clear_full_match_flag(TIMER_CHAN); + timer_clear(); /* Handle other interrupts, anyway. */