Timestamps: Add option to print timestamps to debug console

Prints the timestamp name and value to the debug console if enabled
in Kconfig.

Change-Id: Ie6e6a4877fefec45fb987ceae7d42de6ce768159
Signed-off-by: Martin Roth <martinroth@chromium.org>
Reviewed-on: https://review.coreboot.org/25024
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Kyösti Mälkki <kyosti.malkki@gmail.com>
diff --git a/src/lib/timestamp.c b/src/lib/timestamp.c
index 149b8b8..2ab7253 100644
--- a/src/lib/timestamp.c
+++ b/src/lib/timestamp.c
@@ -154,6 +154,18 @@
 	return ts_table;
 }
 
+static const char *timestamp_name(enum timestamp_id id)
+{
+	int i;
+
+	for (i = 0; i < ARRAY_SIZE(timestamp_ids); i++) {
+		if (timestamp_ids[i].id == id)
+			return timestamp_ids[i].name;
+	}
+
+	return "Unknown timestamp ID";
+}
+
 static void timestamp_add_table_entry(struct timestamp_table *ts_table,
 				      enum timestamp_id id, uint64_t ts_time)
 {
@@ -166,6 +178,10 @@
 	tse->entry_id = id;
 	tse->entry_stamp = ts_time - ts_table->base_time;
 
+	if (IS_ENABLED(CONFIG_TIMESTAMPS_ON_CONSOLE))
+		printk(BIOS_SPEW, "Timestamp - %s: %" PRIu64 "\n",
+				timestamp_name(id), ts_time);
+
 	if (ts_table->num_entries == ts_table->max_entries)
 		printk(BIOS_ERR, "ERROR: Timestamp table full\n");
 }