lib: time: Add microsecond timer
[oweals/u-boot.git] / lib / time.c
index f5751ab162b69643404f37f08d0472b3105824e9..f30fc05804be9914d55973bd6163f1c46b0e30f8 100644 (file)
@@ -134,6 +134,20 @@ ulong __weak get_timer(ulong base)
        return tick_to_time(get_ticks()) - base;
 }
 
+static uint64_t notrace tick_to_time_us(uint64_t tick)
+{
+       ulong div = get_tbclk() / 1000;
+
+       tick *= CONFIG_SYS_HZ;
+       do_div(tick, div);
+       return tick;
+}
+
+uint64_t __weak get_timer_us(uint64_t base)
+{
+       return tick_to_time_us(get_ticks()) - base;
+}
+
 unsigned long __weak notrace timer_get_us(void)
 {
        return tick_to_time(get_ticks() * 1000);