URL
https://opencores.org/ocsvn/or1k/or1k/trunk
[/] [or1k/] [trunk/] [orpmon/] [drivers/] [tick.c] - Diff between revs 878 and 1765
Only display areas with differences |
Details |
Blame |
View Log
Rev 878 |
Rev 1765 |
|
|
#include "common.h"
|
#include "common.h"
|
#include "support.h"
|
#include "support.h"
|
#include "spr_defs.h"
|
#include "spr_defs.h"
|
|
|
void tick_init(void)
|
void tick_init(void)
|
{
|
{
|
mtspr(SPR_SR, SPR_SR_TEE | mfspr(SPR_SR));
|
mtspr(SPR_SR, SPR_SR_TEE | mfspr(SPR_SR));
|
mtspr(SPR_TTMR, SPR_TTMR_IE | SPR_TTMR_RT | ((IN_CLK/TICKS_PER_SEC) & SPR_TTMR_PERIOD));
|
mtspr(SPR_TTMR, SPR_TTMR_IE | SPR_TTMR_RT | ((IN_CLK/TICKS_PER_SEC) & SPR_TTMR_PERIOD));
|
}
|
}
|
|
|
void tick_interrupt(void)
|
void tick_interrupt(void)
|
{
|
{
|
timestamp++;
|
timestamp++;
|
mtspr(SPR_TTMR, SPR_TTMR_IE | SPR_TTMR_RT | ((IN_CLK/TICKS_PER_SEC) & SPR_TTMR_PERIOD));
|
mtspr(SPR_TTMR, SPR_TTMR_IE | SPR_TTMR_RT | ((IN_CLK/TICKS_PER_SEC) & SPR_TTMR_PERIOD));
|
}
|
}
|
|
|
/*
|
/*
|
sleep for n timer-ticks
|
sleep for n timer-ticks
|
*/
|
*/
|
void sleep(unsigned long sleep_time)
|
void sleep(unsigned long sleep_time)
|
{
|
{
|
unsigned long start_time;
|
unsigned long start_time;
|
|
|
start_time = timestamp;
|
start_time = timestamp;
|
|
|
while ( (timestamp - start_time) < sleep_time)
|
while ( (timestamp - start_time) < sleep_time)
|
; /* do nothing */
|
; /* do nothing */
|
}
|
}
|
|
|
|
|
© copyright 1999-2024
OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.