175ffd827a
Change Graphics Init default for RUN_FSP_GOP to depend on INTEL_GMA_HAVE_VBT rather than INTEL_GMA_ADD_VBT, since RUN_FSP_GOP selects INTEL_GMA_ADD_VBT for several Intel SoC's. Test: create default config for gogle/cyan, RUN_FSP_GOP still default display init selection but no more circular dependency warning from config. Change-Id: I8b978d9938c3d0024d4dd40000b988430664cee7 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/39910 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Benjamin Doron <benjamin.doron00@gmail.com> Reviewed-by: Werner Zeh <werner.zeh@siemens.com> Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net> Reviewed-by: Angel Pons <th3fanbus@gmail.com> Reviewed-by: Nico Huber <nico.h@gmx.de>
791 lines
23 KiB
Text
791 lines
23 KiB
Text
##
|
|
## This file is part of the coreboot project.
|
|
##
|
|
## This program is free software; you can redistribute it and/or modify
|
|
## it under the terms of the GNU General Public License as published by
|
|
## the Free Software Foundation; version 2 of the License.
|
|
##
|
|
## This program is distributed in the hope that it will be useful,
|
|
## but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
## MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
## GNU General Public License for more details.
|
|
##
|
|
|
|
menu "Devices"
|
|
|
|
config HAVE_VGA_TEXT_FRAMEBUFFER
|
|
bool
|
|
depends on !NO_GFX_INIT
|
|
help
|
|
Selected by graphics drivers that support legacy VGA text mode.
|
|
|
|
config HAVE_VBE_LINEAR_FRAMEBUFFER
|
|
bool
|
|
depends on !NO_GFX_INIT
|
|
help
|
|
Selected by graphics drivers that can set up a VBE linear-framebuffer
|
|
mode.
|
|
|
|
config HAVE_LINEAR_FRAMEBUFFER
|
|
bool
|
|
depends on !NO_GFX_INIT
|
|
help
|
|
Selected by graphics drivers that can set up a generic linear
|
|
framebuffer.
|
|
|
|
config HAVE_FSP_GOP
|
|
bool
|
|
help
|
|
Selected by drivers that support to run a blob that implements
|
|
the Graphics Output Protocol (GOP).
|
|
|
|
config MAINBOARD_NO_FSP_GOP
|
|
bool
|
|
help
|
|
Selected by mainboards that do not have any graphics ports connected to the SoC.
|
|
|
|
config MAINBOARD_HAS_NATIVE_VGA_INIT
|
|
def_bool n
|
|
help
|
|
Selected by mainboards / drivers that provide native graphics
|
|
init within coreboot.
|
|
|
|
config MAINBOARD_FORCE_NATIVE_VGA_INIT
|
|
def_bool n
|
|
depends on MAINBOARD_HAS_NATIVE_VGA_INIT || MAINBOARD_HAS_LIBGFXINIT
|
|
help
|
|
Selected by mainboards / chipsets whose graphics driver can't or
|
|
shouldn't be disabled.
|
|
|
|
config MAINBOARD_HAS_LIBGFXINIT
|
|
def_bool n
|
|
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
|
|
default MAINBOARD_DO_NATIVE_VGA_INIT
|
|
default MAINBOARD_USE_LIBGFXINIT
|
|
default RUN_FSP_GOP if INTEL_GMA_HAVE_VBT
|
|
|
|
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"
|
|
depends on MAINBOARD_HAS_LIBGFXINIT
|
|
select HAVE_VGA_TEXT_FRAMEBUFFER
|
|
select HAVE_LINEAR_FRAMEBUFFER
|
|
select VGA if VGA_TEXT_FRAMEBUFFER
|
|
help
|
|
Use the SPARK library `libgfxinit` for the native graphics
|
|
initialization. This requires an Ada toolchain.
|
|
|
|
# TODO: Explain differences (if any) for onboard cards.
|
|
config VGA_ROM_RUN
|
|
bool "Run VGA Option ROMs"
|
|
depends on PCI && (ARCH_X86 || ARCH_PPC64) && !MAINBOARD_FORCE_NATIVE_VGA_INIT
|
|
select HAVE_VGA_TEXT_FRAMEBUFFER
|
|
help
|
|
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.
|
|
|
|
When using a SeaBIOS payload it runs all option ROMs with much
|
|
more complete BIOS interrupt services available than coreboot,
|
|
which some option ROMs require in order to function correctly.
|
|
|
|
config RUN_FSP_GOP
|
|
bool "Run a GOP driver"
|
|
depends on HAVE_FSP_GOP && !MAINBOARD_NO_FSP_GOP
|
|
select HAVE_LINEAR_FRAMEBUFFER
|
|
help
|
|
Some platforms (e.g. Intel Braswell and Skylake/Kaby Lake) support
|
|
to run a GOP blob. This option enables graphics initialization with
|
|
such a blob.
|
|
|
|
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 ONBOARD_VGA_IS_PRIMARY
|
|
bool "Use onboard VGA as primary video device"
|
|
default n
|
|
depends on PCI
|
|
help
|
|
This option lets you select which VGA device will be used
|
|
to decode legacy VGA cycles. Not all chipsets implement this
|
|
however. If not selected, the last adapter found will be used,
|
|
else the onboard adapter is used.
|
|
|
|
config S3_VGA_ROM_RUN
|
|
bool "Re-run VGA Option ROMs on S3 resume"
|
|
default y
|
|
depends on VGA_ROM_RUN && HAVE_ACPI_RESUME
|
|
help
|
|
Execute VGA Option ROMs in coreboot when resuming from S3 suspend.
|
|
|
|
When using a SeaBIOS payload it runs all option ROMs with much
|
|
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 ALWAYS_LOAD_OPROM
|
|
def_bool n
|
|
depends on VGA_ROM_RUN
|
|
help
|
|
Always load option ROMs if any are found. The decision to run
|
|
the ROM is still determined at runtime, but the distinction
|
|
between loading and not running comes into play for CHROMEOS.
|
|
|
|
An example where this is required is that VBT (Video BIOS Tables)
|
|
are needed for the kernel's display driver to know how a piece of
|
|
hardware is configured to be used.
|
|
|
|
config ALWAYS_RUN_OPROM
|
|
def_bool n
|
|
depends on VGA_ROM_RUN && ALWAYS_LOAD_OPROM
|
|
help
|
|
Always uncondtionally run the option regardless of other
|
|
policies.
|
|
|
|
config ON_DEVICE_ROM_LOAD
|
|
bool "Load Option ROMs on PCI devices"
|
|
default n if PAYLOAD_SEABIOS
|
|
default y if !PAYLOAD_SEABIOS
|
|
depends on VGA_ROM_RUN
|
|
help
|
|
Load Option ROMs stored on PCI/PCIe/AGP VGA devices in coreboot.
|
|
|
|
If disabled, only Option ROMs stored in CBFS will be executed by
|
|
coreboot. If you are concerned about security, you might want to
|
|
disable this option, but it might leave your system in a state of
|
|
degraded functionality.
|
|
|
|
When using a SeaBIOS payload it runs all option ROMs with much
|
|
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.
|
|
|
|
choice
|
|
prompt "Option ROM execution type"
|
|
default PCI_OPTION_ROM_RUN_YABEL if !ARCH_X86
|
|
default PCI_OPTION_ROM_RUN_REALMODE if ARCH_X86
|
|
depends on VGA_ROM_RUN
|
|
|
|
config PCI_OPTION_ROM_RUN_REALMODE
|
|
prompt "Native mode"
|
|
bool
|
|
depends on ARCH_X86
|
|
help
|
|
If you select this option, PCI Option ROMs will be executed
|
|
natively on the CPU in real mode. No CPU emulation is involved,
|
|
so this is the fastest, but also the least secure option.
|
|
(only works on x86/x64 systems)
|
|
|
|
config PCI_OPTION_ROM_RUN_YABEL
|
|
prompt "Secure mode"
|
|
bool
|
|
help
|
|
If you select this option, the x86emu CPU emulator will be used to
|
|
execute PCI Option ROMs.
|
|
|
|
This option prevents Option ROMs from doing dirty tricks with the
|
|
system (such as installing SMM modules or hypervisors), but it is
|
|
also significantly slower than the native Option ROM initialization
|
|
method.
|
|
|
|
This is the default choice for non-x86 systems.
|
|
|
|
endchoice
|
|
|
|
config YABEL_PCI_ACCESS_OTHER_DEVICES
|
|
prompt "Allow Option ROMs to access other devices"
|
|
bool
|
|
depends on PCI_OPTION_ROM_RUN_YABEL
|
|
help
|
|
Per default, YABEL only allows Option ROMs to access the PCI device
|
|
that they are associated with. However, this causes trouble for some
|
|
onboard graphics chips whose Option ROM needs to reconfigure the
|
|
north bridge.
|
|
|
|
config YABEL_PCI_FAKE_WRITING_OTHER_DEVICES_CONFIG
|
|
prompt "Fake success on writing other device's config space"
|
|
bool
|
|
depends on YABEL_PCI_ACCESS_OTHER_DEVICES
|
|
help
|
|
By default, YABEL aborts when the Option ROM tries to write to other
|
|
devices' config spaces. With this option enabled, the write doesn't
|
|
follow through, but the Option ROM is allowed to go on.
|
|
This can create issues such as hanging Option ROMs (if it depends on
|
|
that other register changing to the written value), so test for
|
|
impact before using this option.
|
|
|
|
config YABEL_VIRTMEM_LOCATION
|
|
prompt "Location of YABEL's virtual memory"
|
|
hex
|
|
depends on PCI_OPTION_ROM_RUN_YABEL
|
|
default 0x1000000
|
|
help
|
|
YABEL requires 1MB memory for its CPU emulation. This memory is
|
|
normally located at 16MB.
|
|
|
|
config YABEL_DIRECTHW
|
|
prompt "Direct hardware access"
|
|
bool
|
|
depends on PCI_OPTION_ROM_RUN_YABEL && ARCH_X86
|
|
help
|
|
YABEL consists of two parts: It uses x86emu for the CPU emulation and
|
|
additionally provides a PC system emulation that filters bad device
|
|
and memory access (such as PCI config space access to other devices
|
|
than the initialized one).
|
|
|
|
When choosing this option, x86emu will pass through all hardware
|
|
accesses to memory and I/O devices to the underlying memory and I/O
|
|
addresses. While this option prevents Option ROMs from doing dirty
|
|
tricks with the CPU (such as installing SMM modules or hypervisors),
|
|
they can still access all devices in the system.
|
|
Enable this option for a good compromise between security and speed.
|
|
|
|
config MULTIPLE_VGA_ADAPTERS
|
|
bool
|
|
default n
|
|
|
|
menu "Display"
|
|
depends on HAVE_VGA_TEXT_FRAMEBUFFER || HAVE_LINEAR_FRAMEBUFFER
|
|
|
|
config FRAMEBUFFER_SET_VESA_MODE
|
|
prompt "Set framebuffer graphics resolution"
|
|
bool
|
|
default y if CHROMEOS
|
|
depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE
|
|
select HAVE_VBE_LINEAR_FRAMEBUFFER
|
|
help
|
|
Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
|
|
|
|
if FRAMEBUFFER_SET_VESA_MODE
|
|
|
|
choice
|
|
prompt "framebuffer graphics resolution"
|
|
default FRAMEBUFFER_VESA_MODE_118
|
|
help
|
|
This option sets the resolution used for the coreboot framebuffer (and
|
|
bootsplash screen).
|
|
|
|
config FRAMEBUFFER_VESA_MODE_100
|
|
bool "640x400 256-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_101
|
|
bool "640x480 256-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_102
|
|
bool "800x600 16-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_103
|
|
bool "800x600 256-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_104
|
|
bool "1024x768 16-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_105
|
|
bool "1024x768 256-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_106
|
|
bool "1280x1024 16-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_107
|
|
bool "1280x1024 256-color"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_108
|
|
bool "80x60 text"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_109
|
|
bool "132x25 text"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10A
|
|
bool "132x43 text"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10B
|
|
bool "132x50 text"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10C
|
|
bool "132x60 text"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10D
|
|
bool "320x200 32k-color (1:5:5:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10E
|
|
bool "320x200 64k-color (5:6:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_10F
|
|
bool "320x200 16.8M-color (8:8:8)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_110
|
|
bool "640x480 32k-color (1:5:5:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_111
|
|
bool "640x480 64k-color (5:6:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_112
|
|
bool "640x480 16.8M-color (8:8:8)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_113
|
|
bool "800x600 32k-color (1:5:5:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_114
|
|
bool "800x600 64k-color (5:6:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_115
|
|
bool "800x600 16.8M-color (8:8:8)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_116
|
|
bool "1024x768 32k-color (1:5:5:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_117
|
|
bool "1024x768 64k-color (5:6:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_118
|
|
bool "1024x768 16.8M-color (8:8:8)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_119
|
|
bool "1280x1024 32k-color (1:5:5:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_11A
|
|
bool "1280x1024 64k-color (5:6:5)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_11B
|
|
bool "1280x1024 16.8M-color (8:8:8)"
|
|
|
|
config FRAMEBUFFER_VESA_MODE_USER
|
|
bool "Manually select VESA mode"
|
|
|
|
endchoice
|
|
|
|
# Map the config names to an integer (KB).
|
|
config FRAMEBUFFER_VESA_MODE
|
|
prompt "VESA mode" if FRAMEBUFFER_VESA_MODE_USER
|
|
hex
|
|
default 0x100 if FRAMEBUFFER_VESA_MODE_100
|
|
default 0x101 if FRAMEBUFFER_VESA_MODE_101
|
|
default 0x102 if FRAMEBUFFER_VESA_MODE_102
|
|
default 0x103 if FRAMEBUFFER_VESA_MODE_103
|
|
default 0x104 if FRAMEBUFFER_VESA_MODE_104
|
|
default 0x105 if FRAMEBUFFER_VESA_MODE_105
|
|
default 0x106 if FRAMEBUFFER_VESA_MODE_106
|
|
default 0x107 if FRAMEBUFFER_VESA_MODE_107
|
|
default 0x108 if FRAMEBUFFER_VESA_MODE_108
|
|
default 0x109 if FRAMEBUFFER_VESA_MODE_109
|
|
default 0x10A if FRAMEBUFFER_VESA_MODE_10A
|
|
default 0x10B if FRAMEBUFFER_VESA_MODE_10B
|
|
default 0x10C if FRAMEBUFFER_VESA_MODE_10C
|
|
default 0x10D if FRAMEBUFFER_VESA_MODE_10D
|
|
default 0x10E if FRAMEBUFFER_VESA_MODE_10E
|
|
default 0x10F if FRAMEBUFFER_VESA_MODE_10F
|
|
default 0x110 if FRAMEBUFFER_VESA_MODE_110
|
|
default 0x111 if FRAMEBUFFER_VESA_MODE_111
|
|
default 0x112 if FRAMEBUFFER_VESA_MODE_112
|
|
default 0x113 if FRAMEBUFFER_VESA_MODE_113
|
|
default 0x114 if FRAMEBUFFER_VESA_MODE_114
|
|
default 0x115 if FRAMEBUFFER_VESA_MODE_115
|
|
default 0x116 if FRAMEBUFFER_VESA_MODE_116
|
|
default 0x117 if FRAMEBUFFER_VESA_MODE_117
|
|
default 0x118 if FRAMEBUFFER_VESA_MODE_118
|
|
default 0x119 if FRAMEBUFFER_VESA_MODE_119
|
|
default 0x11A if FRAMEBUFFER_VESA_MODE_11A
|
|
default 0x11B if FRAMEBUFFER_VESA_MODE_11B
|
|
default 0x118 if FRAMEBUFFER_VESA_MODE_USER
|
|
endif # FRAMEBUFFER_SET_VESA_MODE
|
|
|
|
choice
|
|
prompt "Framebuffer mode"
|
|
default VBE_LINEAR_FRAMEBUFFER if HAVE_VBE_LINEAR_FRAMEBUFFER && CHROMEOS
|
|
default GENERIC_LINEAR_FRAMEBUFFER if HAVE_LINEAR_FRAMEBUFFER && CHROMEOS
|
|
default VBE_LINEAR_FRAMEBUFFER if HAVE_VBE_LINEAR_FRAMEBUFFER && PAYLOAD_TIANOCORE
|
|
default GENERIC_LINEAR_FRAMEBUFFER if HAVE_LINEAR_FRAMEBUFFER && PAYLOAD_TIANOCORE
|
|
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
|
|
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"
|
|
bool
|
|
depends on LINEAR_FRAMEBUFFER
|
|
help
|
|
This option shows a graphical bootsplash screen. The graphics are
|
|
loaded from the CBFS file bootsplash.jpg.
|
|
|
|
You can either specify the location and file name of the
|
|
image in the 'General' section or add it manually to CBFS, using,
|
|
for example, cbfstool.
|
|
|
|
config LINEAR_FRAMEBUFFER_MAX_WIDTH
|
|
int "Maximum width in pixels"
|
|
depends on LINEAR_FRAMEBUFFER && MAINBOARD_USE_LIBGFXINIT
|
|
default 2560
|
|
help
|
|
Set the maximum width of the framebuffer. This may help with
|
|
default fonts too tiny for high-resolution displays.
|
|
|
|
config LINEAR_FRAMEBUFFER_MAX_HEIGHT
|
|
int "Maximum height in pixels"
|
|
depends on LINEAR_FRAMEBUFFER && MAINBOARD_USE_LIBGFXINIT
|
|
default 1600
|
|
help
|
|
Set the maximum height of the framebuffer. This may help with
|
|
default fonts too tiny for high-resolution displays.
|
|
|
|
endmenu # "Display"
|
|
|
|
config PCI
|
|
bool
|
|
default n
|
|
|
|
if PCI
|
|
|
|
config NO_MMCONF_SUPPORT
|
|
bool
|
|
default n
|
|
|
|
config MMCONF_SUPPORT
|
|
bool
|
|
default !NO_MMCONF_SUPPORT
|
|
|
|
config HYPERTRANSPORT_PLUGIN_SUPPORT
|
|
bool
|
|
default n
|
|
|
|
config HT_CHAIN_UNITID_BASE
|
|
int
|
|
default 0
|
|
|
|
config HT_CHAIN_END_UNITID_BASE
|
|
int
|
|
default 0
|
|
|
|
config PCIX_PLUGIN_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config CARDBUS_PLUGIN_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
config AZALIA_PLUGIN_SUPPORT
|
|
bool
|
|
default n
|
|
|
|
config PCIEXP_PLUGIN_SUPPORT
|
|
bool
|
|
default y
|
|
|
|
endif # PCI
|
|
|
|
if PCIEXP_PLUGIN_SUPPORT
|
|
|
|
config PCIEXP_COMMON_CLOCK
|
|
prompt "Enable PCIe Common Clock"
|
|
bool
|
|
default n
|
|
help
|
|
Detect and enable Common Clock on PCIe links.
|
|
|
|
config PCIEXP_ASPM
|
|
prompt "Enable PCIe ASPM"
|
|
bool
|
|
default n
|
|
help
|
|
Detect and enable ASPM (Active State Power Management) on PCIe links.
|
|
|
|
config PCIEXP_CLK_PM
|
|
prompt "Enable PCIe Clock Power Management"
|
|
bool
|
|
default n
|
|
help
|
|
Detect and enable Clock Power Management on PCIe.
|
|
|
|
config PCIEXP_L1_SUB_STATE
|
|
prompt "Enable PCIe ASPM L1 SubState"
|
|
bool
|
|
depends on (MMCONF_SUPPORT || PCI_IO_CFG_EXT)
|
|
default n
|
|
help
|
|
Detect and enable ASPM on PCIe links.
|
|
|
|
config PCIEXP_HOTPLUG
|
|
prompt "Enable PCIe Hotplug Support"
|
|
bool
|
|
default n
|
|
help
|
|
Allocate resources for PCIe hotplug bridges
|
|
|
|
if PCIEXP_HOTPLUG
|
|
|
|
config PCIEXP_HOTPLUG_BUSES
|
|
int "PCI Express Hotplug Buses"
|
|
default 32
|
|
help
|
|
This is the number of buses allocated for hotplug PCI express
|
|
bridges, for use by hotplugged child devices. The default is 32
|
|
buses.
|
|
|
|
config PCIEXP_HOTPLUG_MEM
|
|
hex "PCI Express Hotplug Memory"
|
|
default 0x800000
|
|
help
|
|
This is the amount of memory space, in bytes, to allocate to
|
|
hotplug PCI express bridges, for use by hotplugged child devices.
|
|
This size should be page-aligned. The default is 8 MiB.
|
|
|
|
config PCIEXP_HOTPLUG_PREFETCH_MEM
|
|
hex "PCI Express Hotplug Prefetch Memory"
|
|
default 0x10000000
|
|
help
|
|
This is the amount of pre-fetchable memory space, in bytes, to
|
|
allocate to hot-plug PCI express bridges, for use by hotplugged
|
|
child devices. This size should be page-aligned. The default is
|
|
256 MiB.
|
|
|
|
config PCIEXP_HOTPLUG_IO
|
|
hex "PCI Express Hotplug I/O Space"
|
|
default 0x2000
|
|
help
|
|
This is the amount of I/O space to allocate to hot-plug PCI
|
|
express bridges, for use by hotplugged child devices. The default
|
|
is 8 KiB.
|
|
|
|
endif # PCIEXP_HOTPLUG
|
|
|
|
endif # PCIEXP_PLUGIN_SUPPORT
|
|
|
|
config EARLY_PCI_BRIDGE
|
|
bool "Early PCI bridge"
|
|
depends on PCI
|
|
default n
|
|
help
|
|
While coreboot is executing code from ROM, the coreboot resource
|
|
allocator has not been running yet. Hence PCI devices living behind
|
|
a bridge are not yet visible to the system.
|
|
|
|
This option enables static configuration for a single pre-defined
|
|
PCI bridge function on bus 0.
|
|
|
|
if EARLY_PCI_BRIDGE
|
|
|
|
config EARLY_PCI_BRIDGE_DEVICE
|
|
hex "bridge device"
|
|
default 0x0
|
|
|
|
config EARLY_PCI_BRIDGE_FUNCTION
|
|
hex "bridge function"
|
|
default 0x0
|
|
|
|
config EARLY_PCI_MMIO_BASE
|
|
hex "MMIO window base"
|
|
default 0x0
|
|
|
|
endif # EARLY_PCI_BRIDGE
|
|
|
|
config SUBSYSTEM_VENDOR_ID
|
|
hex "Override PCI Subsystem Vendor ID"
|
|
depends on PCI
|
|
default 0x0000
|
|
help
|
|
This config option will override the devicetree settings for
|
|
PCI Subsystem Vendor ID.
|
|
|
|
config SUBSYSTEM_DEVICE_ID
|
|
hex "Override PCI Subsystem Device ID"
|
|
depends on PCI
|
|
default 0x0000
|
|
help
|
|
This config option will override the devicetree settings for
|
|
PCI Subsystem Device ID.
|
|
|
|
config VGA_BIOS
|
|
bool "Add a VGA BIOS image"
|
|
depends on ARCH_X86
|
|
help
|
|
Select this option if you have a VGA BIOS image that you would
|
|
like to add to your ROM.
|
|
|
|
You will be able to specify the location and file name of the
|
|
image later.
|
|
|
|
config VGA_BIOS_FILE
|
|
string "VGA BIOS path and filename"
|
|
depends on VGA_BIOS
|
|
default "vgabios.bin"
|
|
help
|
|
The path and filename of the file to use as VGA BIOS.
|
|
|
|
config VGA_BIOS_ID
|
|
string "VGA device PCI IDs"
|
|
depends on VGA_BIOS
|
|
default "1106,3230"
|
|
help
|
|
The comma-separated PCI vendor and device ID with optional revision if that
|
|
feature is enabled that would associate your vBIOS to your video card.
|
|
|
|
Example: 1106,3230 or 1106,3230,a3
|
|
|
|
In the above example 1106 is the PCI vendor ID (in hex, but without
|
|
the "0x" prefix) and 3230 specifies the PCI device ID of the
|
|
video card (also in hex, without "0x" prefix). a3 specifies the revision.
|
|
|
|
Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
|
|
|
|
config VGA_BIOS_SECOND
|
|
bool "Add a 2nd video BIOS image"
|
|
depends on ARCH_X86 && VGA_BIOS
|
|
help
|
|
Select this option if you have a 2nd video BIOS image that you would
|
|
like to add to your ROM.
|
|
|
|
config VGA_BIOS_SECOND_FILE
|
|
string "2nd video BIOS path and filename"
|
|
depends on VGA_BIOS_SECOND
|
|
default "vbios2.bin"
|
|
help
|
|
The path and filename of the file to use as video BIOS.
|
|
|
|
config VGA_BIOS_SECOND_ID
|
|
string "Graphics device PCI IDs"
|
|
depends on VGA_BIOS_SECOND
|
|
help
|
|
The comma-separated PCI vendor and device ID with optional revision if that
|
|
feature is enabled that would associate your vBIOS to your video card.
|
|
|
|
Example: 1106,3230 or 1106,3230,a3
|
|
|
|
In the above example 1106 is the PCI vendor ID (in hex, but without
|
|
the "0x" prefix) and 3230 specifies the PCI device ID of the
|
|
video card (also in hex, without "0x" prefix). a3 specifies the revision.
|
|
|
|
Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
|
|
|
|
config CHECK_REV_IN_OPROM_NAME
|
|
def_bool n
|
|
help
|
|
Select this in the platform BIOS or chipset if the option rom has a revision
|
|
that needs to be checked when searching CBFS.
|
|
|
|
config VGA_BIOS_DGPU
|
|
bool "Add a discrete VGA BIOS image"
|
|
depends on VGA_BIOS
|
|
help
|
|
Select this option if you have a VGA BIOS image for discrete GPU
|
|
that you would like to add to your ROM.
|
|
|
|
You will be able to specify the location and file name of the
|
|
image later.
|
|
|
|
config VGA_BIOS_DGPU_FILE
|
|
string "Discrete VGA BIOS path and filename"
|
|
depends on VGA_BIOS_DGPU
|
|
default "vgabios_dgpu.bin"
|
|
help
|
|
The path and filename of the file to use as VGA BIOS for discrete GPU.
|
|
|
|
config VGA_BIOS_DGPU_ID
|
|
string "Discrete VGA device PCI IDs"
|
|
depends on VGA_BIOS_DGPU
|
|
default "1002,6663"
|
|
help
|
|
The comma-separated PCI vendor and device ID that would associate
|
|
your VGA BIOS to your discrete video card.
|
|
|
|
Examples:
|
|
1002,6663 for HD 8570M
|
|
1002,6665 for R5 M230
|
|
|
|
In the above examples 1002 is the PCI vendor ID (in hex, but without
|
|
the "0x" prefix) and 6663 / 6665 specifies the PCI device ID of the
|
|
discrete video card (also in hex, without "0x" prefix).
|
|
|
|
Under GNU/Linux you can run `lspci -nn` to list the IDs of your PCI devices.
|
|
|
|
config INTEL_GMA_HAVE_VBT
|
|
bool
|
|
help
|
|
Select this in the mainboard Kconfig to indicate the board has
|
|
a data.vbt file.
|
|
|
|
config INTEL_GMA_ADD_VBT
|
|
depends on SOC_INTEL_COMMON || CPU_INTEL_COMMON
|
|
bool "Add a Video BIOS Table (VBT) binary to CBFS"
|
|
default y if INTEL_GMA_HAVE_VBT
|
|
help
|
|
Add a VBT data file to CBFS. The VBT describes the integrated
|
|
GPU and connections, and is needed by the GOP driver integrated into
|
|
FSP and the OS driver in order to initialize the display.
|
|
|
|
config INTEL_GMA_VBT_FILE
|
|
string "VBT binary path and filename"
|
|
depends on INTEL_GMA_ADD_VBT
|
|
default "src/mainboard/$(MAINBOARDDIR)/variants/$(VARIANT_DIR)/data.vbt" \
|
|
if INTEL_GMA_HAVE_VBT && VARIANT_DIR != ""
|
|
default "src/mainboard/$(MAINBOARDDIR)/data.vbt" if INTEL_GMA_HAVE_VBT
|
|
default "3rdparty/blobs/mainboard/$(MAINBOARDDIR)/vbt.bin"
|
|
help
|
|
The path and filename of the VBT binary.
|
|
|
|
config SOFTWARE_I2C
|
|
bool "Enable I2C controller emulation in software"
|
|
default n
|
|
help
|
|
This config option will enable code to override the i2c_transfer
|
|
routine with a (simple) software emulation of the protocol. This may
|
|
be useful for debugging or on platforms where a driver for the real
|
|
I2C controller is not (yet) available. The platform code needs to
|
|
provide bindings to manually toggle I2C lines.
|
|
|
|
endmenu
|