summaryrefslogtreecommitdiff
path: root/firmware/kernel.c
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/kernel.c')
-rw-r--r--firmware/kernel.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/firmware/kernel.c b/firmware/kernel.c
index 6166437282..a353c4bdc9 100644
--- a/firmware/kernel.c
+++ b/firmware/kernel.c
@@ -25,7 +25,9 @@
25#include "system.h" 25#include "system.h"
26#include "panic.h" 26#include "panic.h"
27 27
28#if (CONFIG_CPU != PP5020) || !defined(BOOTLOADER)
28long current_tick = 0; 29long current_tick = 0;
30#endif
29 31
30static void (*tick_funcs[MAX_NUM_TICK_TASKS])(void); 32static void (*tick_funcs[MAX_NUM_TICK_TASKS])(void);
31 33
@@ -48,7 +50,7 @@ void kernel_init(void)
48 50
49 num_queues = 0; 51 num_queues = 0;
50 memset(all_queues, 0, sizeof(all_queues)); 52 memset(all_queues, 0, sizeof(all_queues));
51 53
52 tick_start(1000/HZ); 54 tick_start(1000/HZ);
53} 55}
54 56
@@ -319,6 +321,7 @@ void tick_start(unsigned int interval_in_ms)
319 321
320#define USECS_PER_INT 0x2710 322#define USECS_PER_INT 0x2710
321 323
324#ifndef BOOTLOADER
322void TIMER1(void) 325void TIMER1(void)
323{ 326{
324 int i; 327 int i;
@@ -336,9 +339,11 @@ void TIMER1(void)
336 current_tick++; 339 current_tick++;
337 wake_up_thread(); 340 wake_up_thread();
338} 341}
342#endif
339 343
340void tick_start(unsigned int interval_in_ms) 344void tick_start(unsigned int interval_in_ms)
341{ 345{
346#ifndef BOOTLOADER
342 /* TODO: use interval_in_ms to set timer periode */ 347 /* TODO: use interval_in_ms to set timer periode */
343 (void)interval_in_ms; 348 (void)interval_in_ms;
344 PP5020_TIMER1 = 0x0; 349 PP5020_TIMER1 = 0x0;
@@ -347,6 +352,10 @@ void tick_start(unsigned int interval_in_ms)
347 PP5020_TIMER1 = 0xc0000000 | USECS_PER_INT; 352 PP5020_TIMER1 = 0xc0000000 | USECS_PER_INT;
348 /* unmask interrupt source */ 353 /* unmask interrupt source */
349 PP5020_CPU_INT_EN = PP5020_TIMER1_MASK; 354 PP5020_CPU_INT_EN = PP5020_TIMER1_MASK;
355#else
356 /* We don't enable interrupts in the bootloader */
357 (void)interval_in_ms;
358#endif
350} 359}
351 360
352#endif 361#endif