X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=carlfw%2Finclude%2Ftimer.h;h=43d6f2ece5afbf8a79360caf28a9fd9a42c63ca6;hb=2547abad9ca1434b943ea832472bdbb0dc5246c9;hp=7f6c491d87247cd5ce1461919db4ae852f82aff3;hpb=1765258283f5fc36987ae44cdd516163290629e0;p=carl9170fw.git diff --git a/carlfw/include/timer.h b/carlfw/include/timer.h index 7f6c491..43d6f2e 100644 --- a/carlfw/include/timer.h +++ b/carlfw/include/timer.h @@ -19,8 +19,7 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * with this program; If not, see . */ #ifndef __CARL9170FW_TIMER_H @@ -47,7 +46,7 @@ static inline __inline uint32_t get_clock_counter(void) */ static inline __inline bool is_after_msecs(const uint32_t t0, const uint32_t msecs) { - return ((get_clock_counter() - t0) / 1000) > (msecs * fw.ticks_per_msec); + return ((get_clock_counter() - t0) / 1000) > (msecs * fw.ticks_per_usec); } /* @@ -60,7 +59,7 @@ static inline __inline void delay(const uint32_t msec) { uint32_t t1, t2, dt, wt; - wt = msec * fw.ticks_per_msec; + wt = msec * fw.ticks_per_usec; t1 = get_clock_counter(); while (1) { @@ -79,22 +78,13 @@ static inline __inline void udelay(const uint32_t usec) while (1) { t2 = get_clock_counter(); dt = (t2 - t1); - if (dt >= (usec * fw.ticks_per_msec)) + if (dt >= (usec * fw.ticks_per_usec)) break; } } -static inline void clock_set(enum cpu_clock_t _clock, bool on) -{ - /* - * Word of Warning! - * This setting does more than just mess with the CPU Clock. - * So watch out, if you need _stable_ timer interrupts. - */ - - fw.ticks_per_msec = GET_VAL(AR9170_PWR_PLL_ADDAC_DIV, get(AR9170_PWR_REG_PLL_ADDAC)) >> 1; - - set(AR9170_PWR_REG_CLOCK_SEL, (uint32_t) ((on ? 0x70 : 0x600) | _clock)); -} +void clock_set(enum cpu_clock_t _clock, bool on); +void handle_timer(void); +void timer_init(const unsigned int timer, const unsigned int interval); #endif /* __CARL9170FW_TIMER_H */