aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Makefile.inc2
-rw-r--r--src/lib/coreboot_table.c18
2 files changed, 19 insertions, 1 deletions
diff --git a/src/lib/Makefile.inc b/src/lib/Makefile.inc
index 1e70e2e01a..472bd8d8cc 100644
--- a/src/lib/Makefile.inc
+++ b/src/lib/Makefile.inc
@@ -57,7 +57,6 @@ ifeq ($(CONFIG_COMPILER_GCC),y)
romstage-$(CONFIG_ARCH_ROMSTAGE_X86_32) += gcc.c
ramstage-$(CONFIG_ARCH_RAMSTAGE_X86_32) += gcc.c
endif
-romstage-$(CONFIG_TERTIARY_BOARD_ID) += tristate_gpios.c
ramstage-y += hardwaremain.c
ramstage-y += selfboot.c
@@ -85,6 +84,7 @@ ramstage-$(CONFIG_MAINBOARD_DO_NATIVE_VGA_INIT) += edid.c
ramstage-y += memrange.c
ramstage-$(CONFIG_COOP_MULTITASKING) += thread.c
ramstage-$(CONFIG_TIMER_QUEUE) += timer_queue.c
+ramstage-$(CONFIG_TERTIARY_BOARD_ID) += tristate_gpios.c
romstage-y += cbmem_common.c dynamic_cbmem.c
ramstage-y += cbmem_common.c dynamic_cbmem.c
diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c
index abcb0eda11..2b484d4b64 100644
--- a/src/lib/coreboot_table.c
+++ b/src/lib/coreboot_table.c
@@ -26,6 +26,7 @@
#include <boot/coreboot_tables.h>
#include <string.h>
#include <version.h>
+#include <boardid.h>
#include <device/device.h>
#include <stdlib.h>
#include <cbfs.h>
@@ -212,6 +213,19 @@ static inline void lb_vboot_handoff(struct lb_header *header) {}
#endif /* CONFIG_VBOOT_VERIFY_FIRMWARE */
#endif /* CONFIG_CHROMEOS */
+static void lb_board_id(struct lb_header *header)
+{
+#if CONFIG_BOARD_ID_SUPPORT
+ struct lb_board_id *bid;
+
+ bid = (struct lb_board_id *)lb_new_record(header);
+
+ bid->tag = LB_TAG_BOARD_ID;
+ bid->size = sizeof(*bid);
+ bid->board_id = board_id();
+#endif
+}
+
static void add_cbmem_pointers(struct lb_header *header)
{
/*
@@ -432,6 +446,10 @@ unsigned long write_coreboot_table(
/* pass along the vboot_handoff address. */
lb_vboot_handoff(head);
#endif
+
+ /* Add board ID if available */
+ lb_board_id(head);
+
add_cbmem_pointers(head);
/* Add board-specific table entries, if any. */