[PATCH 1/2] lib/sbi/sbi_timer: Add sbi_timer_frequency() function
Sunil V L <[email protected]> Fri, 3 Jul 2026 10:35:29 +0530
| Newsgroups | org.infradead.lists.opensbi |
|---|---|
| Message-ID | <[email protected]> |
From: Sunil V L <[email protected]> Drivers and other library code sometimes need the timer frequency outside of lib/sbi/sbi_timer.c, but there is currently no accessor for it. Add sbi_timer_frequency() to expose the frequency of the registered timer device. Signed-off-by: Sunil V L <[email protected]> --- include/sbi/sbi_timer.h | 3 +++ lib/sbi/sbi_timer.c | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/include/sbi/sbi_timer.h b/include/sbi/sbi_timer.h index 2a0409274dc4..17d6c1dcedba 100644 --- a/include/sbi/sbi_timer.h +++ b/include/sbi/sbi_timer.h @@ -140,6 +140,9 @@ bool sbi_timer_waitms_until(bool (*predicate)(void *), void *arg, /** Get timer value for current HART */ u64 sbi_timer_value(void); +/** Get timer frequency for current HART */ +unsigned long sbi_timer_frequency(void); + /** Compute timer value after specified milliseconds */ static inline u64 sbi_timer_value_after_msecs(ulong msecs) { diff --git a/lib/sbi/sbi_timer.c b/lib/sbi/sbi_timer.c index 4d737d22a18b..8abb5e7bea20 100644 --- a/lib/sbi/sbi_timer.c +++ b/lib/sbi/sbi_timer.c @@ -104,6 +104,18 @@ bool sbi_timer_waitms_until(bool (*predicate)(void *), void *arg, return true; } +unsigned long sbi_timer_frequency(void) +{ + const struct sbi_timer_device *timer_dev = sbi_timer_get_device(); + + if (!timer_dev) { + sbi_printf("%s: called without timer device\n", __func__); + return 0; + } + + return timer_dev->timer_freq; +} + u64 sbi_timer_value(void) { if (get_time_val) -- 2.43.0 -- opensbi mailing list [email protected] http://lists.infradead.org/mailman/listinfo/opensbi