18#include <FreeNOS/System.h>
23 : m_initialTimerCounter(0)
30 u32 f =
mrc(p15, 0, 0, c14, c0);
44 mcr(p15, 0, 0, c14, c2, value);
49 mcr(p15, 0, 1, c14, c2, value);
void setPL1PhysicalTimerControl(const u32 value)
Set Physical Timer 1 control value.
static const u32 TimerControlEnable
Set this bit in the PL1 control register to enable it.
virtual Result setFrequency(const Size hertz)
Set timer frequency.
u32 getSystemFrequency(void) const
Retrieve system timer frequency.
virtual Result tick()
Process timer tick.
void setPL1PhysicalTimerValue(const u32 value)
Set Physical Timer 1 value.
Size m_initialTimerCounter
Currently configured initial timer counter.
virtual Result tick()
Process timer tick.
Size m_int
Timer interrupt number.
virtual Result setFrequency(Size hertz)
Set timer frequency.
#define mrc(coproc, opcode1, opcode2, reg, subReg)
Move to ARM from CoProcessor (MRC).
#define mcr(coproc, opcode1, opcode2, reg, subReg, value)
Move to CoProcessor from ARM (MCR).
unsigned int u32
Unsigned 32-bit number.
unsigned int Size
Any sane size indicator cannot go negative.