summaryrefslogtreecommitdiff
path: root/src/device/Kconfig
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2017-05-22 13:49:22 +0200
committerNico Huber <nico.h@gmx.de>2017-06-08 14:58:15 +0200
commitd4ebeaf475dc1137f489f12ffa4e55d914238662 (patch)
tree413472484c5fbb9ac2f2a003b592c37bbc0ce826 /src/device/Kconfig
parent26ce9af9a04ae282ff7c186eac0476f13a37cfa0 (diff)
downloadcoreboot-d4ebeaf475dc1137f489f12ffa4e55d914238662.tar.xz
device/Kconfig: Put gfx init methods into a `choice`
Provide all gfx init methods as a Kconfig `choice`. This elimates the option to select native gfx init along with running a Video BIOS. It's been only theoretically useful in one corner case: Hybrid graphics where only one controller is supported by native gfx init. Though I suppose in that case it's fair to assume that one would use SeaBIOS to run the VBIOS. For the case that we want the payload to initialize graphics or no pre-boot graphics at all, the new symbol NO_GFX_INIT was added to the choice. If multiple options are available, the default is chosen as follows: * NO_GFX_INIT, if we add a Video BIOS and the payload is SeaBIOS, * VGA_ROM_RUN, if we add a Video BIOS and the payload is not SeaBIOS, * NATIVE_VGA_INIT, if we don't add a Video BIOS. As a side effect, libgfxinit is now an independent choice. Change-Id: I06bc65ecf3724f299f59888a97219fdbd3d2d08b Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/19814 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
Diffstat (limited to 'src/device/Kconfig')
-rw-r--r--src/device/Kconfig47
1 files changed, 25 insertions, 22 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig
index 841f2249b2..0637c699f7 100644
--- a/src/device/Kconfig
+++ b/src/device/Kconfig
@@ -42,39 +42,36 @@ config MAINBOARD_HAS_NATIVE_VGA_INIT
config MAINBOARD_FORCE_NATIVE_VGA_INIT
def_bool n
depends on MAINBOARD_HAS_NATIVE_VGA_INIT || MAINBOARD_HAS_LIBGFXINIT
- select MAINBOARD_DO_NATIVE_VGA_INIT
help
Selected by mainboards / chipsets whose graphics driver can't or
shouldn't be disabled.
-config MAINBOARD_DO_NATIVE_VGA_INIT
- bool "Use native graphics initialization"
- depends on MAINBOARD_HAS_NATIVE_VGA_INIT
- default n
- help
- Some mainboards, such as the Google Link, allow initializing the display
- without the need of a binary only VGA OPROM. Enabling this option may be
- faster, but also lacks flexibility in setting modes.
-
- If unsure, say N.
-
config MAINBOARD_HAS_LIBGFXINIT
def_bool n
- select MAINBOARD_HAS_NATIVE_VGA_INIT
help
Selected by mainboards that implement support for `libgfxinit`.
Usually this requires a list of ports to be probed for displays.
+choice
+ prompt "Graphics initialization"
+ default NO_GFX_INIT if VGA_BIOS && PAYLOAD_SEABIOS
+ default VGA_ROM_RUN if VGA_BIOS
+
+config MAINBOARD_DO_NATIVE_VGA_INIT
+ bool "Use native graphics init"
+ depends on MAINBOARD_HAS_NATIVE_VGA_INIT
+ help
+ Some mainboards, such as the Google Link, allow initializing the
+ display without the need of a binary only VGA OPROM. Enabling this
+ option may be faster, but also lacks flexibility in setting modes.
+
config MAINBOARD_USE_LIBGFXINIT
- bool "Use libgfxinit for native graphics initialization"
- depends on MAINBOARD_DO_NATIVE_VGA_INIT
+ bool "Use libgfxinit"
depends on MAINBOARD_HAS_LIBGFXINIT
select HAVE_VGA_TEXT_FRAMEBUFFER
select HAVE_LINEAR_FRAMEBUFFER
select RAMSTAGE_LIBHWBASE
select VGA if VGA_TEXT_FRAMEBUFFER
- select NO_EDID_FILL_FB
- default n
help
Use the SPARK library `libgfxinit` for the native graphics
initialization. This requires an Ada toolchain.
@@ -82,12 +79,10 @@ config MAINBOARD_USE_LIBGFXINIT
# TODO: Explain differences (if any) for onboard cards.
config VGA_ROM_RUN
bool "Run VGA Option ROMs"
- default n if PAYLOAD_SEABIOS
- default y if !PAYLOAD_SEABIOS
- depends on PCI && !MAINBOARD_DO_NATIVE_VGA_INIT
+ depends on PCI && !MAINBOARD_FORCE_NATIVE_VGA_INIT
select HAVE_VGA_TEXT_FRAMEBUFFER
help
- Execute VGA Option ROMs in coreboot if found. This is required
+ Execute VGA Option ROMs in coreboot if found. This can be used
to enable PCI/AGP/PCI-E video cards when not using a SeaBIOS
payload.
@@ -95,7 +90,15 @@ config VGA_ROM_RUN
more complete BIOS interrupt services available than coreboot,
which some option ROMs require in order to function correctly.
- If unsure, say N when using SeaBIOS as payload, Y otherwise.
+config NO_GFX_INIT
+ bool "None"
+ depends on !MAINBOARD_FORCE_NATIVE_VGA_INIT
+ help
+ Select this to not perform any graphics initialization in
+ coreboot. This is useful if the payload (e.g. SeaBIOS) can
+ initialize graphics or if pre-boot graphics are not required.
+
+endchoice
config S3_VGA_ROM_RUN
bool "Re-run VGA Option ROMs on S3 resume"