From 69efaa0388c2989cd224821adb07715d64623953 Mon Sep 17 00:00:00 2001 From: "Ronald G. Minnich" Date: Tue, 26 Feb 2013 10:07:40 -0800 Subject: Google Link: Add remaining code to support native graphics The Link native graphics commit 49428d84 [1] Add support for Google's Chromebook Pixel was missing some of the higher level bits, and hence could not be used. This is not new code -- it has been working since last August -- so the effort now is to get it into the tree and structure it in a way compatible with upstream coreboot. 1. Add options to src/device/Kconfig to enable native graphics. 2. Export the MTRR function for setting variable MTRRs. 3. Clean up some of the comments and white space. While I realize that the product name is Pixel, the mainboard in the coreboot tree is called Link, and that name is what we will use in our commits. [1] http://review.coreboot.org/2482 Change-Id: Ie4db21f245cf5062fe3a8ee913d05dd79030e3e8 Signed-off-by: Ronald G. Minnich Reviewed-on: http://review.coreboot.org/2531 Tested-by: build bot (Jenkins) --- src/device/Kconfig | 32 +++++++++++++++++++++++++------- 1 file changed, 25 insertions(+), 7 deletions(-) (limited to 'src/device/Kconfig') diff --git a/src/device/Kconfig b/src/device/Kconfig index 8e1265f4ae..159bc0e76b 100644 --- a/src/device/Kconfig +++ b/src/device/Kconfig @@ -19,12 +19,29 @@ ## menu "Devices" + +# Only set this in the mainboard +config MAINBOARD_HAS_NATIVE_VGA_INIT + bool + default n + +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 lack flexibility in setting modes. + + If unsure, say N. + # 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 && !PAYLOAD_SEABIOS || EXPERT + depends on PCI && !PAYLOAD_SEABIOS && !MAINBOARD_DO_NATIVE_VGA_INIT || EXPERT help Execute VGA Option ROMs in coreboot if found. This is required to enable PCI/AGP/PCI-E video cards when not using a SeaBIOS @@ -282,19 +299,19 @@ config MBI_FILE endmenu menu "Display" - depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE + depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || MAINBOARD_DO_NATIVE_VGA_INIT config FRAMEBUFFER_SET_VESA_MODE - prompt "Set VESA framebuffer mode" + prompt "Set framebuffer graphics resolution" bool depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE help - Set VESA framebuffer mode (needed for bootsplash) + Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console) choice - prompt "VESA framebuffer video mode" + prompt "framebuffer graphics resolution" default FRAMEBUFFER_VESA_MODE_117 - depends on FRAMEBUFFER_SET_VESA_MODE + depends on FRAMEBUFFER_SET_VESA_MODE || MAINBOARD_DO_NATIVE_VGA_INIT help This option sets the resolution used for the coreboot framebuffer (and bootsplash screen). @@ -385,6 +402,7 @@ config FRAMEBUFFER_VESA_MODE_11B config FRAMEBUFFER_VESA_MODE_USER bool "Manually select VESA mode" + depends on !MAINBOARD_DO_NATIVE_VGA_INIT endchoice @@ -425,7 +443,7 @@ config FRAMEBUFFER_VESA_MODE config FRAMEBUFFER_KEEP_VESA_MODE prompt "Keep VESA framebuffer" bool - depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE + depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || !MAINBOARD_DO_NATIVE_VGA_INIT help This option keeps the framebuffer mode set after coreboot finishes execution. If this option is enabled, coreboot will pass a -- cgit v1.2.3