From a5eeac6a2352e926722b801cfead7af1e92a55a1 Mon Sep 17 00:00:00 2001 From: Konstantin Porotchkin Date: Mon, 20 Mar 2017 15:26:10 +0200 Subject: delay_timer: Add timer value get functions Add ability to get timer value in micro- and milliseconds. Change-Id: I864619c23fe8a2a01cef86795e39d1b0bfd2e3d3 Signed-off-by: Victor Axelrod Signed-off-by: Ofir Fedida Signed-off-by: Konstantin Porotchkin Reviewed-on: http://vgitil04.il.marvell.com:8080/37913 Reviewed-by: Haim Boot --- drivers/delay_timer/delay_timer.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'drivers') diff --git a/drivers/delay_timer/delay_timer.c b/drivers/delay_timer/delay_timer.c index ed7ed52e..be0ed298 100644 --- a/drivers/delay_timer/delay_timer.c +++ b/drivers/delay_timer/delay_timer.c @@ -37,6 +37,29 @@ ***********************************************************/ static const timer_ops_t *ops; +/*********************************************************** + * Get a timer value in microseconds. The driver must + * be initialized before calling this function. + ***********************************************************/ +uint32_t timer_value_get(void) +{ + assert(ops != 0 && + (ops->clk_mult != 0) && + (ops->clk_div != 0) && + (ops->get_timer_value != 0)); + + return (~ops->get_timer_value() * ops->clk_mult) / ops->clk_div; +} + +/*********************************************************** + * Get a timer value in miliseconds. The driver must + * be initialized before calling this function. + ***********************************************************/ +uint32_t timer_value_ms_get(void) +{ + return timer_value_get() / 1000; +} + /*********************************************************** * Delay for the given number of microseconds. The driver must * be initialized before calling this function. -- cgit