1#ifndef _HARDWARE_RISCV_PLATFORM_TIMER_
2#define _HARDWARE_RISCV_PLATFORM_TIMER_
9#include "hardware/structs/sio.h"
36 sio_hw->mtime_ctrl |= SIO_MTIME_CTRL_EN_BITS;
38 sio_hw->mtime_ctrl &= ~SIO_MTIME_CTRL_EN_BITS;
51 sio_hw->mtime_ctrl |= SIO_MTIME_CTRL_FULLSPEED_BITS;
53 sio_hw->mtime_ctrl &= ~SIO_MTIME_CTRL_FULLSPEED_BITS;
72 return l | (uint64_t)h1 << 32;
95 sio_hw->mtimeh = mtime >> 32;
96 sio_hw->mtime = mtime & 0xffffffffu;
113 h0 = sio_hw->mtimecmph;
114 l = sio_hw->mtimecmp;
115 h1 = sio_hw->mtimecmph;
117 return l | (uint64_t)h1 << 32;
134 sio_hw->mtimecmp = -1u;
136 sio_hw->mtimecmph = mtimecmp >> 32;
138 sio_hw->mtimecmp = mtimecmp & 0xffffffffu;