payloads/tianocore: Add Kconfig to set boot timeout
Add a Kconfig option to set the tianocore boot timeout,
which is passed to the payload via a command line parameter.
Allows boards without an internal display (eg) to set a longer
boot timeout, in order to ensure the boot splash/menu prompt
are visible upon boot.
The associated changes on the tianocore side have already been
merged into MrChromebox's CorebootPayloadPkg and UefiPayloadPkg
branches (coreboot_fb and uefipayloadpkg respectively).
Change-Id: Ifeaadff05f6667d642c05b81f53c1d2dbc450af6
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/48861
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/payloads/external/tianocore/Kconfig b/payloads/external/tianocore/Kconfig
index 7d5f038..87b6e15 100644
--- a/payloads/external/tianocore/Kconfig
+++ b/payloads/external/tianocore/Kconfig
@@ -100,4 +100,12 @@
If an absolute path is not given, the path will assumed to be
relative to the coreboot root directory.
+config TIANOCORE_BOOT_TIMEOUT
+ int
+ default 2
+ help
+ The length of time in seconds for which the boot splash/menu prompt will be displayed.
+ For boards with an internal display, the default value of 2s is generally sufficient.
+ For boards without an internal display, a value of 5s is generally sufficient.
+
endif
diff --git a/payloads/external/tianocore/Makefile b/payloads/external/tianocore/Makefile
index 3d3a3dd..a29dfd2 100644
--- a/payloads/external/tianocore/Makefile
+++ b/payloads/external/tianocore/Makefile
@@ -37,10 +37,12 @@
TIMER=-DUSE_HPET_TIMER
endif
+TIMEOUT=-D PLATFORM_BOOT_TIMEOUT=$(CONFIG_TIANOCORE_BOOT_TIMEOUT)
+
ifeq ($(CONFIG_TIANOCORE_TARGET_IA32), y)
- BUILD_STR=-q -a IA32 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32.dsc -b $(BUILD_TYPE) $(TIMER) $(build_flavor)
+ BUILD_STR=-q -a IA32 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
else
- BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(build_flavor)
+ BUILD_STR=-q -a IA32 -a X64 -t COREBOOT -p $(bootloader)/$(bootloader)Ia32X64.dsc -b $(BUILD_TYPE) $(TIMER) $(TIMEOUT) $(build_flavor)
endif
all: clean build