security/vboot: Add config option to always enable the display

In order to always show the bootlogo very early in coreboot we need the
option to always enable the display when VBOOT is enabled.

To do this a config option is added to make sure this functionality can
be provided without interfering with systems that require the standard
VBOOT display handing.

BUG=N/A
TEST=tested on facebook fbg1701.

Change-Id: I3ffaac85d2082717bb9608d536f7cec66a583789
Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/36547
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
Reviewed-by: Nico Huber <nico.h@gmx.de>
diff --git a/src/security/vboot/Kconfig b/src/security/vboot/Kconfig
index 70180c7..89e1232 100644
--- a/src/security/vboot/Kconfig
+++ b/src/security/vboot/Kconfig
@@ -167,6 +167,12 @@
 	  Unless display is specifically requested, the video option ROM is not
 	  loaded, and any other native display initialization code is not run.
 
+config VBOOT_ALWAYS_ENABLE_DISPLAY
+	bool "Force to always enable display"
+	default n
+	help
+	  Set this option to indicate to vboot that display should always be enabled.
+
 config VBOOT_HAS_REC_HASH_SPACE
 	bool
 	default n
diff --git a/src/security/vboot/vboot_logic.c b/src/security/vboot/vboot_logic.c
index c4389a9..5facd28 100644
--- a/src/security/vboot/vboot_logic.c
+++ b/src/security/vboot/vboot_logic.c
@@ -369,7 +369,7 @@
 		ctx->flags |= VB2_CONTEXT_NOFAIL_BOOT;
 
 	/* Mainboard/SoC always initializes display. */
-	if (!CONFIG(VBOOT_MUST_REQUEST_DISPLAY))
+	if (!CONFIG(VBOOT_MUST_REQUEST_DISPLAY) || CONFIG(VBOOT_ALWAYS_ENABLE_DISPLAY))
 		ctx->flags |= VB2_CONTEXT_DISPLAY_INIT;
 
 	/* Do early init (set up secdata and NVRAM, load GBB) */