OpenCores
URL https://opencores.org/ocsvn/openrisc/openrisc/trunk

Subversion Repositories openrisc

[/] [openrisc/] [trunk/] [bootloaders/] [orpmon/] [drivers/] [tick.c] - Diff between revs 355 and 467

Go to most recent revision | Only display areas with differences | Details | Blame | View Log

Rev 355 Rev 467
 
 
#include "common.h"
#include "common.h"
#include "support.h"
#include "support.h"
#include "spr-defs.h"
#include "spr-defs.h"
#include "spincursor.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));
}
}
 
 
// No longer called - timpstamp variable incremented in vector code in reset.S
// No longer called - timpstamp variable incremented in vector code in reset.S
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));
  //spincursor(); // Check if we want to spin the cursor...
 
}
}
 
 
/*
/*
  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 */
}
}
 
 
 
 

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.