blob: dc00b751bafe228f15d004958ad850f4e34f4ecf [file] [log] [blame]
Patrick Georgi0588d192009-08-12 15:00:51 +00001##
2## This file is part of the coreboot project.
3##
Stefan Reinauerd650e992010-02-22 04:33:13 +00004## Copyright (C) 2007-2010 coresystems GmbH
Patrick Georgi0588d192009-08-12 15:00:51 +00005## (Written by Stefan Reinauer <stepan@coresystems.de> for coresystems GmbH)
6##
7## This program is free software; you can redistribute it and/or modify
8## it under the terms of the GNU General Public License as published by
Uwe Hermannc70e9fc2010-02-15 23:10:19 +00009## the Free Software Foundation; version 2 of the License.
Patrick Georgi0588d192009-08-12 15:00:51 +000010##
11## This program is distributed in the hope that it will be useful,
12## but WITHOUT ANY WARRANTY; without even the implied warranty of
13## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14## GNU General Public License for more details.
15##
16## You should have received a copy of the GNU General Public License
17## along with this program; if not, write to the Free Software
Paul Menzela46a7122013-02-23 18:37:27 +010018## Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
Patrick Georgi0588d192009-08-12 15:00:51 +000019##
20
Stefan Reinauer95a63962012-11-13 17:00:01 -080021menu "Devices"
Ronald G. Minnich69efaa02013-02-26 10:07:40 -080022
23# Only set this in the mainboard
24config MAINBOARD_HAS_NATIVE_VGA_INIT
25 bool
26 default n
27
Vladimir Serbinenko160e9a02014-02-22 10:34:47 +010028config MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG
29 bool
30 default n
31
Ronald G. Minnich69efaa02013-02-26 10:07:40 -080032config MAINBOARD_DO_NATIVE_VGA_INIT
33 bool "Use native graphics initialization"
34 depends on MAINBOARD_HAS_NATIVE_VGA_INIT
35 default n
36 help
37 Some mainboards, such as the Google Link, allow initializing the display
38 without the need of a binary only VGA OPROM. Enabling this option may be
Paul Menzelfd3451d2014-01-03 09:45:57 +010039 faster, but also lacks flexibility in setting modes.
Ronald G. Minnich69efaa02013-02-26 10:07:40 -080040
41 If unsure, say N.
42
Uwe Hermann168b11b2009-10-07 16:15:40 +000043# TODO: Explain differences (if any) for onboard cards.
Patrick Georgi0588d192009-08-12 15:00:51 +000044config VGA_ROM_RUN
Stefan Reinauerafaa2572011-10-06 16:47:51 -070045 bool "Run VGA Option ROMs"
Peter Stugebe0ede42012-10-27 14:17:04 +020046 default n if PAYLOAD_SEABIOS
47 default y if !PAYLOAD_SEABIOS
Ronald G. Minnich69efaa02013-02-26 10:07:40 -080048 depends on PCI && !PAYLOAD_SEABIOS && !MAINBOARD_DO_NATIVE_VGA_INIT || EXPERT
Patrick Georgi0588d192009-08-12 15:00:51 +000049 help
Peter Stugeb6fa47c2012-10-27 13:45:51 +020050 Execute VGA Option ROMs in coreboot if found. This is required
51 to enable PCI/AGP/PCI-E video cards when not using a SeaBIOS
52 payload.
53
54 When using a SeaBIOS payload it runs all option ROMs with much
55 more complete BIOS interrupt services available than coreboot,
56 which some option ROMs require in order to function correctly.
57
58 If unsure, say N when using SeaBIOS as payload, Y otherwise.
Myles Watsone6804952009-08-28 14:36:12 +000059
Stefan Reinauer0a500842011-09-23 10:33:58 -070060config S3_VGA_ROM_RUN
Stefan Reinauerafaa2572011-10-06 16:47:51 -070061 bool "Re-run VGA Option ROMs on S3 resume"
Stefan Reinauer0a500842011-09-23 10:33:58 -070062 default y
63 depends on VGA_ROM_RUN && HAVE_ACPI_RESUME
64 help
Peter Stugeb6fa47c2012-10-27 13:45:51 +020065 Execute VGA Option ROMs in coreboot when resuming from S3 suspend.
66
67 When using a SeaBIOS payload it runs all option ROMs with much
68 more complete BIOS interrupt services available than coreboot,
69 which some option ROMs require in order to function correctly.
70
71 If unsure, say N when using SeaBIOS as payload, Y otherwise.
Stefan Reinauer0a500842011-09-23 10:33:58 -070072
Kyösti Mälkki580e5642014-05-01 16:31:34 +030073config ALWAYS_LOAD_OPROM
74 def_bool n
75 depends on VGA_ROM_RUN
76 help
Daniele Forsi53847a22014-07-22 18:00:56 +020077 Always load option ROMs if any are found. The decision to run
78 the ROM is still determined at runtime, but the distinction
Kyösti Mälkki580e5642014-05-01 16:31:34 +030079 between loading and not running comes into play for CHROMEOS.
80
Daniele Forsi53847a22014-07-22 18:00:56 +020081 An example where this is required is that VBT (Video BIOS Tables)
Kyösti Mälkki580e5642014-05-01 16:31:34 +030082 are needed for the kernel's display driver to know how a piece of
83 hardware is configured to be used.
84
Stefan Reinauerafaa2572011-10-06 16:47:51 -070085config ON_DEVICE_ROM_RUN
86 bool "Run Option ROMs on PCI devices"
Peter Stugebe0ede42012-10-27 14:17:04 +020087 default n if PAYLOAD_SEABIOS
88 default y if !PAYLOAD_SEABIOS
Stefan Reinauer2110c972012-12-08 00:50:44 +010089 depends on PCI && !PAYLOAD_SEABIOS || EXPERT
Stefan Reinauerafaa2572011-10-06 16:47:51 -070090 help
Peter Stugeb6fa47c2012-10-27 13:45:51 +020091 Execute Option ROMs stored on PCI/PCIe/AGP devices in coreboot.
Stefan Reinauerafaa2572011-10-06 16:47:51 -070092
Peter Stugeb6fa47c2012-10-27 13:45:51 +020093 If disabled, only Option ROMs stored in CBFS will be executed by
94 coreboot. If you are concerned about security, you might want to
95 disable this option, but it might leave your system in a state of
96 degraded functionality.
Stefan Reinauerafaa2572011-10-06 16:47:51 -070097
Peter Stugeb6fa47c2012-10-27 13:45:51 +020098 When using a SeaBIOS payload it runs all option ROMs with much
99 more complete BIOS interrupt services available than coreboot,
100 which some option ROMs require in order to function correctly.
101
102 If unsure, say N when using SeaBIOS as payload, Y otherwise.
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700103
Patrick Georgi0588d192009-08-12 15:00:51 +0000104choice
Uwe Hermann168b11b2009-10-07 16:15:40 +0000105 prompt "Option ROM execution type"
Stefan Reinauer14be4d02010-01-31 21:46:12 +0000106 default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
107 default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
Vladimir Serbinenkob32816e2013-12-20 17:47:19 +0100108 depends on VGA_ROM_RUN || GEODE_VSA
Uwe Hermann168b11b2009-10-07 16:15:40 +0000109
110config PCI_OPTION_ROM_RUN_REALMODE
Stefan Reinauerd650e992010-02-22 04:33:13 +0000111 prompt "Native mode"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000112 bool
Stefan Reinauer14be4d02010-01-31 21:46:12 +0000113 depends on ARCH_X86
Myles Watson28412f52009-09-17 16:54:46 +0000114 help
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700115 If you select this option, PCI Option ROMs will be executed
Stefan Reinauer14be4d02010-01-31 21:46:12 +0000116 natively on the CPU in real mode. No CPU emulation is involved,
117 so this is the fastest, but also the least secure option.
118 (only works on x86/x64 systems)
Patrick Georgi0588d192009-08-12 15:00:51 +0000119
Stefan Reinauerd650e992010-02-22 04:33:13 +0000120config PCI_OPTION_ROM_RUN_YABEL
Uwe Hermann548dbe72010-02-22 16:41:49 +0000121 prompt "Secure mode"
Uwe Hermann168b11b2009-10-07 16:15:40 +0000122 bool
Myles Watsone3df1212010-06-04 15:55:12 +0000123 depends on !GEODE_VSA
Uwe Hermann168b11b2009-10-07 16:15:40 +0000124 help
Stefan Reinauer14be4d02010-01-31 21:46:12 +0000125 If you select this option, the x86emu CPU emulator will be used to
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700126 execute PCI Option ROMs.
Uwe Hermann548dbe72010-02-22 16:41:49 +0000127
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700128 This option prevents Option ROMs from doing dirty tricks with the
Uwe Hermann548dbe72010-02-22 16:41:49 +0000129 system (such as installing SMM modules or hypervisors), but it is
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700130 also significantly slower than the native Option ROM initialization
Uwe Hermann548dbe72010-02-22 16:41:49 +0000131 method.
132
Stefan Reinauerd650e992010-02-22 04:33:13 +0000133 This is the default choice for non-x86 systems.
Uwe Hermann548dbe72010-02-22 16:41:49 +0000134
Patrick Georgi0588d192009-08-12 15:00:51 +0000135endchoice
Uwe Hermann5ec2c2b2009-08-25 00:53:22 +0000136
Stefan Reinauer9a358532010-02-12 09:32:17 +0000137config YABEL_PCI_ACCESS_OTHER_DEVICES
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700138 prompt "Allow Option ROMs to access other devices"
Stefan Reinauer9a358532010-02-12 09:32:17 +0000139 bool
140 depends on PCI_OPTION_ROM_RUN_YABEL
141 help
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700142 Per default, YABEL only allows Option ROMs to access the PCI device
Stefan Reinauer9a358532010-02-12 09:32:17 +0000143 that they are associated with. However, this causes trouble for some
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700144 onboard graphics chips whose Option ROM needs to reconfigure the
Uwe Hermann548dbe72010-02-22 16:41:49 +0000145 north bridge.
Stefan Reinauer9a358532010-02-12 09:32:17 +0000146
Patrick Georgic4b2a1b2012-07-20 13:44:50 +0200147config YABEL_PCI_FAKE_WRITING_OTHER_DEVICES_CONFIG
148 prompt "Fake success on writing other device's config space"
149 bool
150 depends on YABEL_PCI_ACCESS_OTHER_DEVICES
151 help
152 By default, YABEL aborts when the Option ROM tries to write to other
153 devices' config spaces. With this option enabled, the write doesn't
154 follow through, but the Option ROM is allowed to go on.
155 This can create issues such as hanging Option ROMs (if it depends on
156 that other register changing to the written value), so test for
157 impact before using this option.
158
Stefan Reinauer9a358532010-02-12 09:32:17 +0000159config YABEL_VIRTMEM_LOCATION
160 prompt "Location of YABEL's virtual memory"
161 hex
Stefan Reinauerd650e992010-02-22 04:33:13 +0000162 depends on PCI_OPTION_ROM_RUN_YABEL && EXPERT
Stefan Reinauer9a358532010-02-12 09:32:17 +0000163 default 0x1000000
164 help
165 YABEL requires 1MB memory for its CPU emulation. This memory is
166 normally located at 16MB.
167
Uwe Hermann01ce6012010-03-05 10:03:50 +0000168config YABEL_VIRTMEM_LOCATION
169 hex
170 depends on PCI_OPTION_ROM_RUN_YABEL && !EXPERT
171 default 0x1000000
172
Stefan Reinauerd650e992010-02-22 04:33:13 +0000173config YABEL_DIRECTHW
Uwe Hermann548dbe72010-02-22 16:41:49 +0000174 prompt "Direct hardware access"
Stefan Reinauerd650e992010-02-22 04:33:13 +0000175 bool
Stefan Reinauer91f14232012-12-07 16:55:12 -0800176 depends on PCI_OPTION_ROM_RUN_YABEL && ARCH_X86
Myles Watsone6804952009-08-28 14:36:12 +0000177 help
Stefan Reinauerd650e992010-02-22 04:33:13 +0000178 YABEL consists of two parts: It uses x86emu for the CPU emulation and
Uwe Hermann548dbe72010-02-22 16:41:49 +0000179 additionally provides a PC system emulation that filters bad device
180 and memory access (such as PCI config space access to other devices
181 than the initialized one).
182
Stefan Reinauerd650e992010-02-22 04:33:13 +0000183 When choosing this option, x86emu will pass through all hardware
Uwe Hermann548dbe72010-02-22 16:41:49 +0000184 accesses to memory and I/O devices to the underlying memory and I/O
Stefan Reinauerafaa2572011-10-06 16:47:51 -0700185 addresses. While this option prevents Option ROMs from doing dirty
Stefan Reinauerd650e992010-02-22 04:33:13 +0000186 tricks with the CPU (such as installing SMM modules or hypervisors),
187 they can still access all devices in the system.
188 Enable this option for a good compromise between security and speed.
189
Stefan Reinauerabc0c852010-11-22 08:09:50 +0000190config MULTIPLE_VGA_ADAPTERS
Myles Watson28412f52009-09-17 16:54:46 +0000191 bool
192 default n
193
Kyösti Mälkki36abdc42014-05-05 16:40:15 +0300194config SPD_CACHE
195 bool
196 default n
197
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800198config PCI
199 bool
200 default n
201
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000202config PCI_64BIT_PREF_MEM
203 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800204 depends on PCI
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000205 default n
206
207config HYPERTRANSPORT_PLUGIN_SUPPORT
208 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800209 depends on PCI
Myles Watson74fb8f22009-09-24 15:09:11 +0000210 default n
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000211
212config PCIX_PLUGIN_SUPPORT
213 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800214 depends on PCI
Myles Watsoned035562009-09-22 21:29:32 +0000215 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000216
217config PCIEXP_PLUGIN_SUPPORT
218 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800219 depends on PCI
Myles Watsoned035562009-09-22 21:29:32 +0000220 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000221
222config AGP_PLUGIN_SUPPORT
223 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800224 depends on PCI
Myles Watsoned035562009-09-22 21:29:32 +0000225 default y
Ronald G. Minnich876d7e92009-08-28 14:23:38 +0000226
227config CARDBUS_PLUGIN_SUPPORT
228 bool
Ronald G. Minnich78a16672012-11-29 16:28:21 -0800229 depends on PCI
Myles Watsoned035562009-09-22 21:29:32 +0000230 default y
Duncan Laurie90dcdd42011-10-25 14:15:11 -0700231
Andrew Wub7bb70d2013-08-12 20:07:47 +0800232config AZALIA_PLUGIN_SUPPORT
233 bool
234 depends on PCI
235 default n
236
Duncan Laurie90dcdd42011-10-25 14:15:11 -0700237config PCIEXP_COMMON_CLOCK
238 prompt "Enable PCIe Common Clock"
239 bool
Stefan Reinauerc4077d42013-01-04 10:07:28 -0800240 depends on PCIEXP_PLUGIN_SUPPORT
Duncan Laurie90dcdd42011-10-25 14:15:11 -0700241 default n
242 help
243 Detect and enable Common Clock on PCIe links.
244
245config PCIEXP_ASPM
246 prompt "Enable PCIe ASPM"
247 bool
Stefan Reinauerc4077d42013-01-04 10:07:28 -0800248 depends on PCIEXP_PLUGIN_SUPPORT
Duncan Laurie90dcdd42011-10-25 14:15:11 -0700249 default n
250 help
251 Detect and enable ASPM on PCIe links.
Stefan Reinauer95a63962012-11-13 17:00:01 -0800252
253config PCI_BUS_SEGN_BITS
254 int
255 default 0
Kyösti Mälkki4c686f22014-02-14 12:45:09 +0200256
257config EARLY_PCI_BRIDGE
258 bool "Early PCI bridge"
259 depends on PCI
260 default n
261 help
262 While coreboot is executing code from ROM, the coreboot resource
263 allocator has not been running yet. Hence PCI devices living behind
264 a bridge are not yet visible to the system.
265
266 This option enables static configuration for a single pre-defined
267 PCI bridge function on bus 0.
268
269if EARLY_PCI_BRIDGE
270
271config EARLY_PCI_BRIDGE_DEVICE
272 hex "bridge device"
273 default 0x0
274
275config EARLY_PCI_BRIDGE_FUNCTION
276 hex "bridge function"
277 default 0x0
278
279config EARLY_PCI_MMIO_BASE
280 hex "MMIO window base"
281 default 0x0
282
283endif # EARLY_PCI_BRIDGE
284
Stefan Reinauer58470e32014-10-17 13:08:36 +0200285config SUBSYSTEM_VENDOR_ID
286 hex "Override PCI Subsystem Vendor ID"
287 depends on PCI
288 default "0x0000"
289 help
290 This config option will override the devicetree settings for
291 PCI Subsystem Vendor ID.
Stefan Reinauer95a63962012-11-13 17:00:01 -0800292
Stefan Reinauer58470e32014-10-17 13:08:36 +0200293config SUBSYSTEM_DEVICE_ID
294 hex "Override PCI Subsystem Device ID"
295 depends on PCI
296 default "0x0000"
297 help
298 This config option will override the devicetree settings for
299 PCI Subsystem Device ID.
Stefan Reinauer95a63962012-11-13 17:00:01 -0800300
301config VGA_BIOS
302 bool "Add a VGA BIOS image"
303 help
304 Select this option if you have a VGA BIOS image that you would
305 like to add to your ROM.
306
307 You will be able to specify the location and file name of the
308 image later.
309
310config VGA_BIOS_FILE
311 string "VGA BIOS path and filename"
312 depends on VGA_BIOS
313 default "vgabios.bin"
314 help
315 The path and filename of the file to use as VGA BIOS.
316
317config VGA_BIOS_ID
318 string "VGA device PCI IDs"
319 depends on VGA_BIOS
320 default "1106,3230"
321 help
322 The comma-separated PCI vendor and device ID that would associate
323 your VGA BIOS to your video card.
324
325 Example: 1106,3230
326
327 In the above example 1106 is the PCI vendor ID (in hex, but without
328 the "0x" prefix) and 3230 specifies the PCI device ID of the
329 video card (also in hex, without "0x" prefix).
330
Daniele Forsif2fb7d92014-07-17 11:59:41 +0200331 Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
332
Stefan Reinauer95a63962012-11-13 17:00:01 -0800333config INTEL_MBI
334 bool "Add an MBI image"
335 depends on NORTHBRIDGE_INTEL_I82830
336 help
337 Select this option if you have an Intel MBI image that you would
338 like to add to your ROM.
339
340 You will be able to specify the location and file name of the
341 image later.
342
343config MBI_FILE
344 string "Intel MBI path and filename"
345 depends on INTEL_MBI
346 default "mbi.bin"
347 help
348 The path and filename of the file to use as VGA BIOS.
349
Stefan Reinauer58470e32014-10-17 13:08:36 +0200350config PXE_ROM
351 bool "Add a PXE ROM image"
352 help
353 Select this option if you have a PXE ROM image that you would
354 like to add to your ROM.
355
356config PXE_ROM_FILE
357 string "PXE ROM filename"
358 depends on PXE_ROM
359 default "pxe.rom"
360 help
361 The path and filename of the file to use as PXE ROM.
362
363config PXE_ROM_ID
364 string "network card PCI IDs"
365 depends on PXE_ROM
366 default "10ec,8168"
367 help
368 The comma-separated PCI vendor and device ID that would associate
369 your PXE ROM to your network card.
370
371 Example: 10ec,8168
372
373 In the above example 10ec is the PCI vendor ID (in hex, but without
374 the "0x" prefix) and 8168 specifies the PCI device ID of the
375 network card (also in hex, without "0x" prefix).
376
377 Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
378
Julius Werner37d7ac82014-05-05 18:03:46 -0700379config SOFTWARE_I2C
380 bool "Enable I2C controller emulation in software"
381 default n
382 help
383 This config option will enable code to override the i2c_transfer
384 routine with a (simple) software emulation of the protocol. This may
385 be useful for debugging or on platforms where a driver for the real
386 I2C controller is not (yet) available. The platform code needs to
387 provide bindings to manually toggle I2C lines.
Kyösti Mälkkia91e1e62014-12-31 10:36:08 +0200388
Stefan Reinauer95a63962012-11-13 17:00:01 -0800389endmenu
390
391menu "Display"
Ronald G. Minnich69efaa02013-02-26 10:07:40 -0800392 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || MAINBOARD_DO_NATIVE_VGA_INIT
Stefan Reinauer95a63962012-11-13 17:00:01 -0800393
394config FRAMEBUFFER_SET_VESA_MODE
Ronald G. Minnich69efaa02013-02-26 10:07:40 -0800395 prompt "Set framebuffer graphics resolution"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800396 bool
397 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
398 help
Ronald G. Minnich69efaa02013-02-26 10:07:40 -0800399 Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
Stefan Reinauer95a63962012-11-13 17:00:01 -0800400
401choice
Ronald G. Minnich69efaa02013-02-26 10:07:40 -0800402 prompt "framebuffer graphics resolution"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800403 default FRAMEBUFFER_VESA_MODE_117
Vladimir Serbinenkofb6d25f2014-02-21 08:38:27 +0100404 depends on FRAMEBUFFER_SET_VESA_MODE
Stefan Reinauer95a63962012-11-13 17:00:01 -0800405 help
406 This option sets the resolution used for the coreboot framebuffer (and
407 bootsplash screen).
408
409config FRAMEBUFFER_VESA_MODE_100
410 bool "640x400 256-color"
411
412config FRAMEBUFFER_VESA_MODE_101
413 bool "640x480 256-color"
414
415config FRAMEBUFFER_VESA_MODE_102
416 bool "800x600 16-color"
417
418config FRAMEBUFFER_VESA_MODE_103
419 bool "800x600 256-color"
420
421config FRAMEBUFFER_VESA_MODE_104
422 bool "1024x768 16-color"
423
424config FRAMEBUFFER_VESA_MODE_105
Daniele Forsied3d0e82014-07-19 15:40:40 +0200425 bool "1024x768 256-color"
Stefan Reinauer95a63962012-11-13 17:00:01 -0800426
427config FRAMEBUFFER_VESA_MODE_106
428 bool "1280x1024 16-color"
429
430config FRAMEBUFFER_VESA_MODE_107
431 bool "1280x1024 256-color"
432
433config FRAMEBUFFER_VESA_MODE_108
434 bool "80x60 text"
435
436config FRAMEBUFFER_VESA_MODE_109
437 bool "132x25 text"
438
439config FRAMEBUFFER_VESA_MODE_10A
440 bool "132x43 text"
441
442config FRAMEBUFFER_VESA_MODE_10B
443 bool "132x50 text"
444
445config FRAMEBUFFER_VESA_MODE_10C
446 bool "132x60 text"
447
448config FRAMEBUFFER_VESA_MODE_10D
449 bool "320x200 32k-color (1:5:5:5)"
450
451config FRAMEBUFFER_VESA_MODE_10E
452 bool "320x200 64k-color (5:6:5)"
453
454config FRAMEBUFFER_VESA_MODE_10F
455 bool "320x200 16.8M-color (8:8:8)"
456
457config FRAMEBUFFER_VESA_MODE_110
458 bool "640x480 32k-color (1:5:5:5)"
459
460config FRAMEBUFFER_VESA_MODE_111
461 bool "640x480 64k-color (5:6:5)"
462
463config FRAMEBUFFER_VESA_MODE_112
464 bool "640x480 16.8M-color (8:8:8)"
465
466config FRAMEBUFFER_VESA_MODE_113
467 bool "800x600 32k-color (1:5:5:5)"
468
469config FRAMEBUFFER_VESA_MODE_114
470 bool "800x600 64k-color (5:6:5)"
471
472config FRAMEBUFFER_VESA_MODE_115
473 bool "800x600 16.8M-color (8:8:8)"
474
475config FRAMEBUFFER_VESA_MODE_116
476 bool "1024x768 32k-color (1:5:5:5)"
477
478config FRAMEBUFFER_VESA_MODE_117
479 bool "1024x768 64k-color (5:6:5)"
480
481config FRAMEBUFFER_VESA_MODE_118
482 bool "1024x768 16.8M-color (8:8:8)"
483
484config FRAMEBUFFER_VESA_MODE_119
485 bool "1280x1024 32k-color (1:5:5:5)"
486
487config FRAMEBUFFER_VESA_MODE_11A
488 bool "1280x1024 64k-color (5:6:5)"
489
490config FRAMEBUFFER_VESA_MODE_11B
491 bool "1280x1024 16.8M-color (8:8:8)"
492
493config FRAMEBUFFER_VESA_MODE_USER
494 bool "Manually select VESA mode"
Ronald G. Minnich69efaa02013-02-26 10:07:40 -0800495 depends on !MAINBOARD_DO_NATIVE_VGA_INIT
Stefan Reinauer95a63962012-11-13 17:00:01 -0800496
497endchoice
498
499# Map the config names to an integer (KB).
500config FRAMEBUFFER_VESA_MODE
501 prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
502 hex
503 default 0x100 if FRAMEBUFFER_VESA_MODE_100
504 default 0x101 if FRAMEBUFFER_VESA_MODE_101
505 default 0x102 if FRAMEBUFFER_VESA_MODE_102
506 default 0x103 if FRAMEBUFFER_VESA_MODE_103
507 default 0x104 if FRAMEBUFFER_VESA_MODE_104
508 default 0x105 if FRAMEBUFFER_VESA_MODE_105
509 default 0x106 if FRAMEBUFFER_VESA_MODE_106
510 default 0x107 if FRAMEBUFFER_VESA_MODE_107
511 default 0x108 if FRAMEBUFFER_VESA_MODE_108
512 default 0x109 if FRAMEBUFFER_VESA_MODE_109
513 default 0x10A if FRAMEBUFFER_VESA_MODE_10A
514 default 0x10B if FRAMEBUFFER_VESA_MODE_10B
515 default 0x10C if FRAMEBUFFER_VESA_MODE_10C
516 default 0x10D if FRAMEBUFFER_VESA_MODE_10D
517 default 0x10E if FRAMEBUFFER_VESA_MODE_10E
518 default 0x10F if FRAMEBUFFER_VESA_MODE_10F
519 default 0x110 if FRAMEBUFFER_VESA_MODE_110
520 default 0x111 if FRAMEBUFFER_VESA_MODE_111
521 default 0x112 if FRAMEBUFFER_VESA_MODE_112
522 default 0x113 if FRAMEBUFFER_VESA_MODE_113
523 default 0x114 if FRAMEBUFFER_VESA_MODE_114
524 default 0x115 if FRAMEBUFFER_VESA_MODE_115
525 default 0x116 if FRAMEBUFFER_VESA_MODE_116
526 default 0x117 if FRAMEBUFFER_VESA_MODE_117
527 default 0x118 if FRAMEBUFFER_VESA_MODE_118
528 default 0x119 if FRAMEBUFFER_VESA_MODE_119
529 default 0x11A if FRAMEBUFFER_VESA_MODE_11A
530 default 0x11B if FRAMEBUFFER_VESA_MODE_11B
531 default 0x117 if FRAMEBUFFER_VESA_MODE_USER
532
533config FRAMEBUFFER_KEEP_VESA_MODE
534 prompt "Keep VESA framebuffer"
535 bool
Vladimir Serbinenko160e9a02014-02-22 10:34:47 +0100536 depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || (MAINBOARD_HAS_NATIVE_VGA_INIT_TEXTMODECFG && MAINBOARD_DO_NATIVE_VGA_INIT)
Stefan Reinauer95a63962012-11-13 17:00:01 -0800537 help
538 This option keeps the framebuffer mode set after coreboot finishes
539 execution. If this option is enabled, coreboot will pass a
540 framebuffer entry in its coreboot table and the payload will need a
541 framebuffer driver. If this option is disabled, coreboot will switch
542 back to text mode before handing control to a payload.
543
544config BOOTSPLASH
545 prompt "Show graphical bootsplash"
546 bool
547 depends on FRAMEBUFFER_SET_VESA_MODE
548 help
Daniele Forsi53847a22014-07-22 18:00:56 +0200549 This option shows a graphical bootsplash screen. The graphics are
Stefan Reinauer95a63962012-11-13 17:00:01 -0800550 loaded from the CBFS file bootsplash.jpg.
551
Daniele Forsi53847a22014-07-22 18:00:56 +0200552 You will be able to specify the location and file name of the
553 image later.
554
Stefan Reinauer95a63962012-11-13 17:00:01 -0800555config BOOTSPLASH_FILE
556 string "Bootsplash path and filename"
557 depends on BOOTSPLASH
558 default "bootsplash.jpg"
559 help
560 The path and filename of the file to use as graphical bootsplash
561 screen. The file format has to be jpg.
Daniele Forsi53847a22014-07-22 18:00:56 +0200562
Stefan Reinauer95a63962012-11-13 17:00:01 -0800563endmenu