| ## SPDX-License-Identifier: GPL-2.0-only |
| |
| 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_PREFETCH_MEM_ABOVE_4G |
| bool |
| depends on RESOURCE_ALLOCATOR_V4 |
| default y if !PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G |
| default n |
| help |
| This enables prefetch memory allocation above 4G boundary for the |
| hotplug resources. |
| |
| config PCIEXP_HOTPLUG_PREFETCH_MEM_BELOW_4G |
| bool "PCI Express Hotplug Prefetch Memory Allocation below 4G boundary" |
| default n |
| help |
| This enables prefetch memory allocation below 4G boundary for the |
| hotplug resources. |
| |
| 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. |
| |
| config RESOURCE_ALLOCATOR_V3 |
| bool |
| default n |
| help |
| This config option enables resource allocator v3 which performs |
| top down allocation of resources in a single MMIO window. This is the |
| old resource allocator meant to be used only until the broken AMD |
| chipsets are fixed. DO NOT USE THIS FOR ANY NEW CHIPSETS! |
| |
| config RESOURCE_ALLOCATOR_V4 |
| bool |
| default n if RESOURCE_ALLOCATOR_V3 |
| default y if !RESOURCE_ALLOCATOR_V3 |
| help |
| This config option enables resource allocator v4 which uses multiple |
| ranges for allocating resources. This allows allocation of resources |
| above 4G boundary as well. |
| |
| endmenu |