Sapphire SoC DS Sapphire SoC UG Sapphire HP SoC DS Sapphire HP SoC UG RISC-V Embedded IDE UG Board Support Package
Loading...
Searching...
No Matches
clint.h File Reference
#include "type.h"
#include "soc.h"
#include "smp.h"

Go to the source code of this file.

Overview

CLINT driver API definitions.

Author
Efinix Inc

This file provides data structures and APIs for controlling the CLINT peripheral on the EfxSapphireSoC platform.

Definition in file clint.h.

Data Structures

struct  clint_mtimecmp_hwreg_t
 CLINT MTIMECMP hardware register map. More...
struct  clint_hwreg_t
 CLINT hardware register map. More...

Enumerations

enum  clint_msip_t { MSIP_DISABLE = 0 , MSIP_ENABLE = 1 }

Functions

void clint_uDelay (u32 usec, u32 hz)
 This function introduces a microsecond delay using the CLINT TIME register.
CLINT (Get Functions)

Retrieve value from CLINT register.

double clint_timerSub (u64 t0, u64 t1)
 Get the time difference between t0 and t1.
u64 clint_getTime ()
 Reads the current time value from the CLINT TIME register.
u32 clint_getTimeLow ()
 Reads the low part of the current time.
u32 clint_getTimeHigh ()
 Reads the high part of the current time.
u32 clint_get_SoftInterrupt (u32 hart_id)
 Obtain the current state of the software interrupt for a specific hart.
CLINT (Set Functions)

Set value to CLINT register.

void clint_setCmp (u64 cmp, u32 hart_id)
 This function sets the compare value for the CLINT CMP register for a specific hardware thread.
void clint_set_SoftInterrupt (clint_msip_t enable, u32 hart_id)
 Sets the software interrupt state for a specific hart.