summaryrefslogtreecommitdiff
path: root/src/device
diff options
context:
space:
mode:
authorRonald G. Minnich <rminnich@gmail.com>2013-02-26 10:07:40 -0800
committerRonald G. Minnich <rminnich@gmail.com>2013-03-15 20:21:51 +0100
commit69efaa0388c2989cd224821adb07715d64623953 (patch)
treeff5648065eee9274931a27d5ab0dbc038777b900 /src/device
parent26855fc70b05cf0294cbe3d5f2195bfb95806780 (diff)
downloadcoreboot-69efaa0388c2989cd224821adb07715d64623953.tar.xz
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 <rminnich@gmail.com> Reviewed-on: http://review.coreboot.org/2531 Tested-by: build bot (Jenkins)
Diffstat (limited to 'src/device')
-rw-r--r--src/device/Kconfig32
1 files changed, 25 insertions, 7 deletions
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