X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=cpu%2Fmicroblaze%2Ftimer.c;h=a91eabc64280a84f5219f14b11fae9f6b0bcdf53;hb=6ca9da4d42aeb43df5ef29f7d0518009df583b2f;hp=be4fd57cc49dd3b76041071ba4d3332426af7021;hpb=ee89bf2782406b1f87088b4764aeb6f811d82526;p=u-boot diff --git a/cpu/microblaze/timer.c b/cpu/microblaze/timer.c index be4fd57cc4..a91eabc642 100644 --- a/cpu/microblaze/timer.c +++ b/cpu/microblaze/timer.c @@ -24,6 +24,7 @@ #include #include +#include volatile int timestamp = 0; @@ -32,22 +33,26 @@ void reset_timer (void) timestamp = 0; } +#ifdef CONFIG_SYS_TIMER_0 ulong get_timer (ulong base) { return (timestamp - base); } +#else +ulong get_timer (ulong base) +{ + return (timestamp++ - base); +} +#endif void set_timer (ulong t) { timestamp = t; } -#ifdef CFG_INTC_0 -#ifdef CFG_TIMER_0 -extern void install_interrupt_handler (int irq, interrupt_handler_t * hdlr, - void *arg); - -microblaze_timer_t *tmr = (microblaze_timer_t *) (CFG_TIMER_0_ADDR); +#ifdef CONFIG_SYS_INTC_0 +#ifdef CONFIG_SYS_TIMER_0 +microblaze_timer_t *tmr = (microblaze_timer_t *) (CONFIG_SYS_TIMER_0_ADDR); void timer_isr (void *arg) { @@ -57,12 +62,12 @@ void timer_isr (void *arg) void timer_init (void) { - tmr->loadreg = CFG_TIMER_0_PRELOAD; + tmr->loadreg = CONFIG_SYS_TIMER_0_PRELOAD; tmr->control = TIMER_INTERRUPT | TIMER_RESET; tmr->control = TIMER_ENABLE | TIMER_ENABLE_INTR | TIMER_RELOAD | TIMER_DOWN_COUNT; reset_timer (); - install_interrupt_handler (CFG_TIMER_0_IRQ, timer_isr, (void *)tmr); + install_interrupt_handler (CONFIG_SYS_TIMER_0_IRQ, timer_isr, (void *)tmr); } #endif #endif