summaryrefslogtreecommitdiffstats
path: root/src/device
diff options
context:
space:
mode:
authorNico Huber <nico.h@gmx.de>2017-05-20 16:46:01 +0200
committerMartin Roth <martinroth@google.com>2017-06-04 18:47:19 +0200
commit6d8266b91d7c8338350f7f8b81c21d10c97aceb6 (patch)
tree9b10087e4cd90b56fbe1474c46958b2e3286b30d /src/device
parent49d99fcebc7c3860def51812c2f723ad3e8a4ea3 (diff)
downloadcoreboot-6d8266b91d7c8338350f7f8b81c21d10c97aceb6.tar.gz
coreboot-6d8266b91d7c8338350f7f8b81c21d10c97aceb6.tar.bz2
coreboot-6d8266b91d7c8338350f7f8b81c21d10c97aceb6.zip
Kconfig: Add choice of framebuffer mode
Rename `FRAMEBUFFER_KEEP_VESA_MODE` to `LINEAR_FRAMEBUFFER` and put it together with new `VGA_TEXT_FRAMEBUFFER` into a choice. There are two versions of `LINEAR_FRAMEBUFFER` that differ only in the prompt and help text (one for `HAVE_VBE_LINEAR_FRAMEBUFFER` and one for `HAVE_LINEAR_FRAMEBUFFER`). Due to `kconfig_lint` we have to model that with additional symbols. Change-Id: I9144351491a14d9bb5e650c14933b646bc83fab0 Signed-off-by: Nico Huber <nico.h@gmx.de> Reviewed-on: https://review.coreboot.org/19804 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/device')
-rw-r--r--src/device/Kconfig42
1 files changed, 35 insertions, 7 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 04d8d817b2c6..c727fba85410 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -63,7 +63,7 @@ config MAINBOARD_USE_LIBGFXINIT
select HAVE_VGA_TEXT_FRAMEBUFFER
select HAVE_LINEAR_FRAMEBUFFER
select RAMSTAGE_LIBHWBASE
- select VGA if !FRAMEBUFFER_KEEP_VESA_MODE
+ select VGA if VGA_TEXT_FRAMEBUFFER
select NO_EDID_FILL_FB
default n
help
@@ -539,16 +539,44 @@ config FRAMEBUFFER_VESA_MODE
default 0x11B if FRAMEBUFFER_VESA_MODE_11B
default 0x117 if FRAMEBUFFER_VESA_MODE_USER
-config FRAMEBUFFER_KEEP_VESA_MODE
- prompt "Keep VESA framebuffer"
- bool
- depends on HAVE_VGA_TEXT_FRAMEBUFFER && (HAVE_VBE_LINEAR_FRAMEBUFFER || HAVE_LINEAR_FRAMEBUFFER)
+choice
+ prompt "Framebuffer mode"
+ default VGA_TEXT_FRAMEBUFFER
+
+config VGA_TEXT_FRAMEBUFFER
+ bool "Legacy VGA text mode"
+ depends on HAVE_VGA_TEXT_FRAMEBUFFER
+ help
+ If this option is enabled, coreboot will initialize graphics in
+ legacy VGA text mode or, if a VGA BIOS is used and a VESA mode set,
+ switch to text mode before handing control to a payload.
+
+config VBE_LINEAR_FRAMEBUFFER
+ bool "VESA framebuffer"
+ depends on HAVE_VBE_LINEAR_FRAMEBUFFER
help
This option keeps the framebuffer mode set after coreboot finishes
execution. If this option is enabled, coreboot will pass a
framebuffer entry in its coreboot table and the payload will need a
- framebuffer driver. If this option is disabled, coreboot will switch
- back to text mode before handing control to a payload.
+ compatible driver.
+
+config GENERIC_LINEAR_FRAMEBUFFER
+ bool "Linear \"high-resolution\" framebuffer"
+ depends on HAVE_LINEAR_FRAMEBUFFER
+ help
+ This option enables a high-resolution, linear framebuffer. If this
+ option is enabled, coreboot will pass a framebuffer entry in its
+ coreboot table and the payload will need a compatible driver.
+
+endchoice
+
+# Workaround to have LINEAR_FRAMEBUFFER set in both cases
+# VBE_LINEAR_FRAMEBUFFER and GENERIC_LINEAR_FRAMEBUFFER.
+# `kconfig_lint` doesn't let us use the same name with
+# different texts in the choice above.
+config LINEAR_FRAMEBUFFER
+ def_bool y
+ depends on VBE_LINEAR_FRAMEBUFFER || GENERIC_LINEAR_FRAMEBUFFER
config BOOTSPLASH
prompt "Show graphical bootsplash"