7#ifndef ZEPHYR_INCLUDE_TIME_UNITS_H_
8#define ZEPHYR_INCLUDE_TIME_UNITS_H_
23#define SYS_FOREVER_MS (-1)
29#define SYS_FOREVER_US (-1)
33#define SYS_TIMEOUT_MS(ms) ((ms) == SYS_FOREVER_MS ? K_FOREVER : K_MSEC(ms))
37#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
38__syscall
int sys_clock_hw_cycles_per_sec_runtime_get(
void);
40static inline int z_impl_sys_clock_hw_cycles_per_sec_runtime_get(
void)
42 extern int z_clock_hw_cycles_per_sec;
44 return z_clock_hw_cycles_per_sec;
48#if defined(__cplusplus) && __cplusplus >= 201402L
49 #if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
50 #define TIME_CONSTEXPR
52 #define TIME_CONSTEXPR constexpr
55 #define TIME_CONSTEXPR
60#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
61 return sys_clock_hw_cycles_per_sec_runtime_get();
78#define Z_TMCVT_USE_FAST_ALGO(from_hz, to_hz) \
79 ((ceiling_fraction(CONFIG_SYS_CLOCK_MAX_TIMEOUT_DAYS * 24ULL * 3600ULL * from_hz, \
80 UINT32_MAX) * to_hz) <= UINT32_MAX)
103 bool result32,
bool round_up,
106 bool mul_ratio = const_hz &&
107 (to_hz > from_hz) && ((to_hz % from_hz) == 0U);
108 bool div_ratio = const_hz &&
109 (from_hz > to_hz) && ((from_hz % to_hz) == 0U);
111 if (from_hz == to_hz) {
118 uint32_t rdivisor = div_ratio ? (from_hz / to_hz) : from_hz;
135 if (result32 && (
t <
BIT64(32))) {
136 return ((
uint32_t)
t) / (from_hz / to_hz);
140 }
else if (mul_ratio) {
142 return ((
uint32_t)
t) * (to_hz / from_hz);
149 }
else if (const_hz && Z_TMCVT_USE_FAST_ALGO(from_hz, to_hz)) {
155 return ((
t * to_hz +
off) / from_hz);
160 return (
t / from_hz) * to_hz + ((
t % from_hz) * to_hz +
off) / from_hz;
234#define Z_HZ_us 1000000
235#define Z_HZ_ns 1000000000
236#define Z_HZ_cyc sys_clock_hw_cycles_per_sec()
237#define Z_HZ_ticks CONFIG_SYS_CLOCK_TICKS_PER_SEC
238#define Z_CCYC (!IS_ENABLED(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME))
251 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
265 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
279 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
293 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
307 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
321 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
335 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
false,
false);
349 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
false,
false);
363 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
false,
true);
377 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
false,
true);
391 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
true,
true,
false);
405 return z_tmcvt(
t, Z_HZ_ms, Z_HZ_ticks,
true,
false,
true,
false);
419 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
433 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
447 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
461 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
475 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
489 return z_tmcvt(
t, Z_HZ_us, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
503 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
false,
false);
517 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
false,
false);
531 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
false,
true);
545 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
false,
true);
559 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
true,
true,
false);
573 return z_tmcvt(
t, Z_HZ_us, Z_HZ_ticks,
true,
false,
true,
false);
587 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
601 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
615 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
629 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
643 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
657 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
671 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
false,
false);
685 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
false,
false);
699 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
false,
true);
713 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
false,
true);
727 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
true,
true,
false);
741 return z_tmcvt(
t, Z_HZ_ns, Z_HZ_ticks,
true,
false,
true,
false);
755 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
false,
false);
769 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
false,
false);
783 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
false,
true);
797 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
false,
true);
811 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
true,
true,
false);
825 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ms, Z_CCYC,
false,
true,
false);
839 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
false,
false);
853 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
false,
false);
867 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
false,
true);
881 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
false,
true);
895 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
true,
true,
false);
909 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_us, Z_CCYC,
false,
true,
false);
923 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
false,
false);
937 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
false,
false);
951 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
false,
true);
965 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
false,
true);
979 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
true,
true,
false);
993 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ns, Z_CCYC,
false,
true,
false);
1007 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
false,
false);
1021 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
false,
false);
1035 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
false,
true);
1049 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
false,
true);
1063 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
true,
true,
false);
1077 return z_tmcvt(
t, Z_HZ_cyc, Z_HZ_ticks, Z_CCYC,
false,
true,
false);
1091 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
false,
false);
1105 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
false,
false);
1119 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
false,
true);
1133 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
false,
true);
1147 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
true,
true,
false);
1161 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ms,
true,
false,
true,
false);
1175 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
false,
false);
1189 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
false,
false);
1203 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
false,
true);
1217 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
false,
true);
1231 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
true,
true,
false);
1245 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_us,
true,
false,
true,
false);
1259 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
false,
false);
1273 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
false,
false);
1287 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
false,
true);
1301 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
false,
true);
1315 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
true,
true,
false);
1329 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_ns,
true,
false,
true,
false);
1343 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
false,
false);
1357 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
false,
false);
1371 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
false,
true);
1385 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
false,
true);
1399 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
true,
true,
false);
1413 return z_tmcvt(
t, Z_HZ_ticks, Z_HZ_cyc, Z_CCYC,
false,
true,
false);
1416#if defined(CONFIG_TIMER_READS_ITS_FREQUENCY_AT_RUNTIME)
1417#include <syscalls/time_units.h>
1420#undef TIME_CONSTEXPR
irp nz macro MOVR cc s mov cc s endm endr irp aw macro LDR aa off
Definition: asm-macro-32-bit-gnu.h:17
#define ALWAYS_INLINE
Definition: common.h:124
#define BIT64(_n)
64-bit unsigned integer with bit position _n set.
Definition: util_macro.h:49
struct k_thread t
Definition: kobject.c:1321
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT64_TYPE__ uint64_t
Definition: stdint.h:61
static uint32_t k_ms_to_cyc_floor32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:248
static uint64_t k_cyc_to_ns_near64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:962
static uint64_t k_ticks_to_ns_floor64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1270
static uint64_t k_ms_to_cyc_near64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:290
static uint64_t k_ms_to_cyc_ceil64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:318
static uint32_t k_ticks_to_ms_near32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1116
static uint32_t k_ns_to_cyc_floor32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:584
static uint32_t k_ticks_to_ns_near32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1284
static uint32_t k_us_to_ticks_near32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:528
static uint32_t k_ns_to_ticks_floor32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:668
static uint64_t k_ns_to_ticks_ceil64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:738
static uint64_t k_cyc_to_ticks_floor64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1018
static int sys_clock_hw_cycles_per_sec(void)
Definition: time_units.h:58
static uint64_t k_ticks_to_ns_near64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1298
static uint64_t k_cyc_to_ms_floor64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:766
static uint64_t k_us_to_cyc_ceil64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:486
static uint64_t k_ns_to_cyc_floor64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:598
static uint64_t k_us_to_ticks_floor64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:514
static uint32_t k_cyc_to_us_ceil32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:892
static uint32_t k_cyc_to_ns_floor32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:920
static uint64_t k_ms_to_ticks_floor64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:346
static uint64_t k_cyc_to_ms_ceil64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:822
static uint32_t k_us_to_cyc_ceil32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:472
#define TIME_CONSTEXPR
Definition: time_units.h:55
static uint32_t k_ticks_to_ms_ceil32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1144
static uint32_t k_ticks_to_cyc_floor32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1340
static uint64_t k_ticks_to_cyc_ceil64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1410
static uint32_t k_us_to_ticks_floor32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:500
static uint32_t k_ns_to_ticks_near32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:696
static uint64_t k_ns_to_ticks_floor64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:682
static uint64_t k_ms_to_ticks_near64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:374
static uint32_t k_ticks_to_ns_ceil32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1312
static uint64_t k_us_to_cyc_near64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:458
static uint32_t k_ns_to_cyc_near32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:612
static uint64_t k_us_to_cyc_floor64(uint64_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:430
static uint32_t k_ticks_to_ns_floor32(uint32_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1256
static uint64_t k_cyc_to_ms_near64(uint64_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:794
static uint32_t k_us_to_cyc_near32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:444
static uint64_t k_ticks_to_ms_floor64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1102
static uint32_t k_ns_to_ticks_ceil32(uint32_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:724
static uint32_t k_cyc_to_ms_near32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:780
static uint32_t k_cyc_to_ms_ceil32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:808
static uint64_t k_ns_to_ticks_near64(uint64_t t)
Convert nanoseconds to ticks.
Definition: time_units.h:710
static uint64_t k_ticks_to_us_near64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1214
static uint32_t k_cyc_to_ticks_ceil32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1060
static uint64_t k_ns_to_cyc_ceil64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:654
static uint32_t k_ms_to_cyc_ceil32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:304
static uint32_t k_ticks_to_ms_floor32(uint32_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1088
static uint32_t k_ms_to_ticks_floor32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:332
static uint64_t k_cyc_to_ticks_near64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1046
static uint64_t k_ticks_to_us_floor64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1186
static uint64_t k_cyc_to_ns_floor64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:934
static uint32_t k_cyc_to_ns_ceil32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:976
static uint32_t k_cyc_to_us_floor32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:836
static uint64_t k_cyc_to_us_floor64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:850
static uint32_t k_us_to_cyc_floor32(uint32_t t)
Convert microseconds to hardware cycles.
Definition: time_units.h:416
static uint64_t k_ms_to_ticks_ceil64(uint64_t t)
Convert milliseconds to ticks.
Definition: time_units.h:402
static uint32_t k_us_to_ticks_ceil32(uint32_t t)
Convert microseconds to ticks.
Definition: time_units.h:556
static uint32_t k_ticks_to_us_near32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1200
static uint32_t k_cyc_to_ticks_floor32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1004
static uint32_t k_ticks_to_us_ceil32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1228
static uint32_t k_ms_to_ticks_near32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:360
static uint64_t k_cyc_to_ns_ceil64(uint64_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:990
static uint32_t k_ns_to_cyc_ceil32(uint32_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:640
static uint32_t k_ticks_to_cyc_ceil32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1396
static uint64_t k_cyc_to_us_ceil64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:906
static uint32_t k_ms_to_cyc_near32(uint32_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:276
static uint32_t k_ticks_to_us_floor32(uint32_t t)
Convert ticks to microseconds.
Definition: time_units.h:1172
static uint32_t k_cyc_to_ms_floor32(uint32_t t)
Convert hardware cycles to milliseconds.
Definition: time_units.h:752
static uint64_t k_ticks_to_ms_near64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1130
static uint64_t k_ticks_to_us_ceil64(uint64_t t)
Convert ticks to microseconds.
Definition: time_units.h:1242
static uint64_t k_us_to_ticks_near64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:542
static uint32_t k_cyc_to_ns_near32(uint32_t t)
Convert hardware cycles to nanoseconds.
Definition: time_units.h:948
static uint32_t k_ticks_to_cyc_near32(uint32_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1368
static uint64_t k_cyc_to_ticks_ceil64(uint64_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1074
static uint32_t k_ms_to_ticks_ceil32(uint32_t t)
Convert milliseconds to ticks.
Definition: time_units.h:388
static uint64_t k_ticks_to_ms_ceil64(uint64_t t)
Convert ticks to milliseconds.
Definition: time_units.h:1158
static uint64_t k_ticks_to_cyc_floor64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1354
static uint64_t k_cyc_to_us_near64(uint64_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:878
static uint64_t k_ticks_to_cyc_near64(uint64_t t)
Convert ticks to hardware cycles.
Definition: time_units.h:1382
static uint64_t k_ms_to_cyc_floor64(uint64_t t)
Convert milliseconds to hardware cycles.
Definition: time_units.h:262
static uint64_t k_ticks_to_ns_ceil64(uint64_t t)
Convert ticks to nanoseconds.
Definition: time_units.h:1326
static uint32_t k_cyc_to_ticks_near32(uint32_t t)
Convert hardware cycles to ticks.
Definition: time_units.h:1032
static uint64_t k_ns_to_cyc_near64(uint64_t t)
Convert nanoseconds to hardware cycles.
Definition: time_units.h:626
static uint64_t k_us_to_ticks_ceil64(uint64_t t)
Convert microseconds to ticks.
Definition: time_units.h:570
static uint32_t k_cyc_to_us_near32(uint32_t t)
Convert hardware cycles to microseconds.
Definition: time_units.h:864
#define CONFIG_SYS_CLOCK_HW_CYCLES_PER_SEC
Definition: ztest.h:40