Commit | Line | Data |
---|---|---|
e0b0f9e4 YS |
1 | #ifndef __H8300_TIMER_H |
2 | #define __H8300_TIMER_H | |
3 | ||
4 | void h8300_timer_tick(void); | |
5 | void h8300_timer_setup(void); | |
6 | void h8300_gettod(unsigned int *year, unsigned int *mon, unsigned int *day, | |
7 | unsigned int *hour, unsigned int *min, unsigned int *sec); | |
8 | ||
9 | #define TIMER_FREQ (CONFIG_CPU_CLOCK*10000) /* Timer input freq. */ | |
10 | ||
11 | #define calc_param(cnt, div, rate, limit) \ | |
12 | do { \ | |
13 | cnt = TIMER_FREQ / HZ; \ | |
14 | for (div = 0; div < ARRAY_SIZE(divide_rate); div++) { \ | |
15 | if (rate[div] == 0) \ | |
16 | continue; \ | |
17 | if ((cnt / rate[div]) > limit) \ | |
18 | break; \ | |
19 | } \ | |
20 | if (div == ARRAY_SIZE(divide_rate)) \ | |
21 | panic("Timer counter overflow"); \ | |
22 | cnt /= divide_rate[div]; \ | |
23 | } while(0) | |
24 | ||
25 | #endif |