diff options
author | Stefan Reinauer <reinauer@chromium.org> | 2015-03-26 16:29:00 -0700 |
---|---|---|
committer | Patrick Georgi <pgeorgi@google.com> | 2015-04-22 08:56:46 +0200 |
commit | d06258c515b7e337ab819f8ad833e0d6c9c6ba83 (patch) | |
tree | 46a2ae5b3fd5636842f26cd2578055086aea7ae3 | |
parent | 4b14076fd538348d02c7bdecd17379b421e047c6 (diff) |
build system: add manual board id support
This patch adds manual board id support to coreboot and
selects manual board ids vs automatic (ie strap based)
where appropriate in the mainboards.
CQ-DEPEND=CL:262935
BRANCH=none
BUG=chrome-os-partner:37593
TEST=emerge-urara coreboot, see no board_id file
emerge-buranku coreboot, see board_id file
Change-Id: Ia04e5498a01f35c5418698ecaf3197f56415e789
Signed-off-by: Patrick Georgi <pgeorgi@chromium.org>
Original-Commit-Id: 3bdb1fa092005be24de9fc68998053982648da85
Original-Change-Id: I4f0820233a485bf92598a739b81be2076d4e6ae7
Original-Signed-off-by: Stefan Reinauer <reinauer@chromium.org>
Original-Reviewed-on: https://chromium-review.googlesource.com/262745
Original-Reviewed-by: Vadim Bendebury <vbendeb@google.com>
Reviewed-on: http://review.coreboot.org/9905
Tested-by: build bot (Jenkins)
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
-rw-r--r-- | Makefile.inc | 7 | ||||
-rw-r--r-- | src/Kconfig | 49 | ||||
-rw-r--r-- | src/lib/coreboot_table.c | 2 |
3 files changed, 41 insertions, 17 deletions
diff --git a/Makefile.inc b/Makefile.inc index 9ef29d6c0f..985146119f 100644 --- a/Makefile.inc +++ b/Makefile.inc @@ -621,6 +621,13 @@ $(obj)/coreboot.pre: $(objcbfs)/romstage.elf $(obj)/coreboot.pre1 $(CBFSTOOL) $(CBFSTOOL_PRE_OPTS) mv $@.tmp $@ +cbfs-files-$(CONFIG_BOARD_ID_MANUAL) += board_id +board_id-file := $(obj)/board_id +board_id-type := raw + +$(obj)/board_id: + printf "$(CONFIG_BOARD_ID_STRING)" > $@ + JENKINS_PAYLOAD=none what-jenkins-does: util/abuild/abuild -B -J $(if $(JENKINS_NOCCACHE),,-y) -c 4 -z -p $(JENKINS_PAYLOAD) diff --git a/src/Kconfig b/src/Kconfig index 11811f8a66..8c55837c4f 100644 --- a/src/Kconfig +++ b/src/Kconfig @@ -268,6 +268,39 @@ config UPDATE_IMAGE is a suitable file for further processing. The bootblock will not be modified. +config GENERIC_GPIO_LIB + bool + default n + help + If enabled, compile the generic GPIO library. A "generic" GPIO + implies configurability usually found on SoCs, particularly the + ability to control internal pull resistors. + +config BOARD_ID_AUTO + bool + default n + help + Mainboards that can read a board ID from the hardware straps + (ie. GPIO) select this configuration option. + +config BOARD_ID_MANUAL + bool "Add board ID file to CBFS" + default n + depends on !BOARD_ID_AUTO + help + If you want to maintain a board ID, but the hardware does not + have straps to automatically determine the ID, you can say Y + here and add a file named 'board_id' to CBFS. If you don't know + what this is about, say N. + +config BOARD_ID_STRING + string "Board ID" + default "(none)" + depends on BOARD_ID_MANUAL + help + This string is placed in the 'board_id' CBFS file for indicating + board type. + config RAM_CODE_SUPPORT bool "Discover RAM configuration code and store it in coreboot table" default n @@ -1141,22 +1174,6 @@ config DEBUG_COVERAGE If enabled, the code coverage hooks in coreboot will output some information about the coverage data that is dumped. -config GENERIC_GPIO_LIB - bool "Build generic GPIO library" - default n - help - If enabled, compile the generic GPIO library. A "generic" GPIO - implies configurability usually found on SoCs, particularly the - ability to control internal pull resistors. - -config BOARD_ID_SUPPORT - bool "Discover board ID and store it in coreboot table" - default n - help - If enabled, coreboot discovers the board id of the hardware it is - running on and reports it through the coreboot table to the rest of - the system. - endmenu # These probably belong somewhere else, but they are needed somewhere. diff --git a/src/lib/coreboot_table.c b/src/lib/coreboot_table.c index b62f452b10..8319c03c0f 100644 --- a/src/lib/coreboot_table.c +++ b/src/lib/coreboot_table.c @@ -218,7 +218,7 @@ static inline void lb_vboot_handoff(struct lb_header *header) {} static void lb_board_id(struct lb_header *header) { -#if CONFIG_BOARD_ID_SUPPORT +#if CONFIG_BOARD_ID_AUTO || CONFIG_BOARD_ID_MANUAL struct lb_board_id *bid; bid = (struct lb_board_id *)lb_new_record(header); |