1 /*
2  * Copyright (c) 2012 Travis Geiselbrecht
3  *
4  * Use of this source code is governed by a MIT-style
5  * license that can be found in the LICENSE file or at
6  * https://opensource.org/licenses/MIT
7  */
8 #include <lk/debug.h>
9 #include <lk/trace.h>
10 #include <lk/err.h>
11 #include <sys/types.h>
12 #include <kernel/thread.h>
13 #include <platform.h>
14 #include <platform/timer.h>
15 #include <platform/stm32.h>
16 #include <stm32f10x_rcc.h>
17 #include <stm32f10x_tim.h>
18 #include <misc.h>
19 #include <arch/arm/cm.h>
20 
21 #define LOCAL_TRACE 0
22 
23 #define TIME_BASE_COUNT 0xffff
24 #define TICK_RATE 1000000
25 
26 #pragma GCC diagnostic push
27 #pragma GCC diagnostic ignored "-Wmissing-declarations"
28 
stm32_tim_irq(uint num)29 static void stm32_tim_irq(uint num) {
30     TRACEF("tim irq %d\n", num);
31     PANIC_UNIMPLEMENTED;
32 }
33 
stm32_TIM3_IRQ(void)34 void stm32_TIM3_IRQ(void) {
35     stm32_tim_irq(3);
36 }
37 
stm32_TIM4_IRQ(void)38 void stm32_TIM4_IRQ(void) {
39     stm32_tim_irq(4);
40 }
41 
stm32_TIM5_IRQ(void)42 void stm32_TIM5_IRQ(void) {
43     stm32_tim_irq(5);
44 }
45 
stm32_TIM6_IRQ(void)46 void stm32_TIM6_IRQ(void) {
47     stm32_tim_irq(6);
48 }
49 
stm32_TIM7_IRQ(void)50 void stm32_TIM7_IRQ(void) {
51     stm32_tim_irq(7);
52 }
53 
54 /* time base */
stm32_TIM2_IRQ(void)55 void stm32_TIM2_IRQ(void) {
56     stm32_tim_irq(2);
57 }
58 
59 #pragma GCC diagnostic pop
60 
stm32_timer_early_init(void)61 void stm32_timer_early_init(void) {
62 }
63 
stm32_timer_init(void)64 void stm32_timer_init(void) {
65 }
66