coreboot: introduce monotonic timer API

The notion of a monotonic timer is introduced. Along with it
are helper functions and other types for comparing times. This
is just the framework where it is the responsibility of the
chipset/board to provide the implementation of timer_monotonic_get().

The reason structs are used instead of native types is to allow
for future changes to the data structure without chaning all the
call sites.

Change-Id: Ie56b9ab9dedb0da69dea86ef87ca744004eb1ae3
Signed-off-by: Aaron Durbin <>
Tested-by: build bot (Jenkins)
Reviewed-by: Ronald G. Minnich <>
diff --git a/src/Kconfig b/src/Kconfig
index c3cc6bf..a49643e 100644
--- a/src/Kconfig
+++ b/src/Kconfig
@@ -313,6 +313,11 @@
 	default n if UDELAY_IO
 	default y
+	def_bool n
+	help
+	 The board/chipset provides a monotonic timer.
 	default 0x0