Kconfig: Introduce HAVE_(VBE_)LINEAR_FRAMEBUFFER

Like HAVE_VGA_TEXT_FRAMEBUFFER, these are selected by graphics drivers
that support a linear framebuffer. Some related settings moved to the
drivers (i.e. for rockchip/rk3288 and nvidia/tegra124) since they are
hardcoded.

Change-Id: Iff6dac5a5f61af49456bc6312e7a376def02ab00
Signed-off-by: Nico Huber <nico.h@gmx.de>
Reviewed-on: https://review.coreboot.org/19800
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Aaron Durbin <adurbin@chromium.org>
This commit is contained in:
Nico Huber 2017-05-20 01:07:48 +02:00 committed by Martin Roth
parent ce642f08b9
commit 7971582ec4
28 changed files with 52 additions and 21 deletions

View File

@ -23,7 +23,20 @@ config MAINBOARD_HAS_NATIVE_VGA_INIT
config HAVE_VGA_TEXT_FRAMEBUFFER config HAVE_VGA_TEXT_FRAMEBUFFER
bool bool
default n help
Selected by graphics drivers that support legacy VGA text mode.
config HAVE_VBE_LINEAR_FRAMEBUFFER
bool
help
Selected by graphics drivers that can set up a VBE linear-framebuffer
mode.
config HAVE_LINEAR_FRAMEBUFFER
bool
help
Selected by graphics drivers that can set up a generic linear
framebuffer.
config MAINBOARD_DO_NATIVE_VGA_INIT config MAINBOARD_DO_NATIVE_VGA_INIT
bool "Use native graphics initialization" bool "Use native graphics initialization"
@ -48,6 +61,7 @@ config MAINBOARD_USE_LIBGFXINIT
depends on MAINBOARD_DO_NATIVE_VGA_INIT depends on MAINBOARD_DO_NATIVE_VGA_INIT
depends on MAINBOARD_HAS_LIBGFXINIT depends on MAINBOARD_HAS_LIBGFXINIT
select HAVE_VGA_TEXT_FRAMEBUFFER select HAVE_VGA_TEXT_FRAMEBUFFER
select HAVE_LINEAR_FRAMEBUFFER
select RAMSTAGE_LIBHWBASE select RAMSTAGE_LIBHWBASE
select VGA if !FRAMEBUFFER_KEEP_VESA_MODE select VGA if !FRAMEBUFFER_KEEP_VESA_MODE
select NO_EDID_FILL_FB select NO_EDID_FILL_FB
@ -383,12 +397,13 @@ config SOFTWARE_I2C
endmenu endmenu
menu "Display" menu "Display"
depends on PCI_OPTION_ROM_RUN_YABEL || PCI_OPTION_ROM_RUN_REALMODE || MAINBOARD_DO_NATIVE_VGA_INIT depends on HAVE_VGA_TEXT_FRAMEBUFFER || HAVE_LINEAR_FRAMEBUFFER
config FRAMEBUFFER_SET_VESA_MODE config FRAMEBUFFER_SET_VESA_MODE
prompt "Set framebuffer graphics resolution" prompt "Set framebuffer graphics resolution"
bool 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
select HAVE_VBE_LINEAR_FRAMEBUFFER
help help
Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console) Set VESA/native framebuffer mode (needed for bootsplash and graphical framebuffer console)
@ -527,7 +542,7 @@ config FRAMEBUFFER_VESA_MODE
config FRAMEBUFFER_KEEP_VESA_MODE config FRAMEBUFFER_KEEP_VESA_MODE
prompt "Keep VESA framebuffer" prompt "Keep VESA framebuffer"
bool bool
depends on HAVE_VGA_TEXT_FRAMEBUFFER depends on HAVE_VGA_TEXT_FRAMEBUFFER && (HAVE_VBE_LINEAR_FRAMEBUFFER || HAVE_LINEAR_FRAMEBUFFER)
help help
This option keeps the framebuffer mode set after coreboot finishes This option keeps the framebuffer mode set after coreboot finishes
execution. If this option is enabled, coreboot will pass a execution. If this option is enabled, coreboot will pass a

View File

@ -4,6 +4,7 @@ config DRIVERS_EMULATION_QEMU_BOCHS
depends on BOARD_EMULATION_QEMU_X86 depends on BOARD_EMULATION_QEMU_X86
depends on MAINBOARD_DO_NATIVE_VGA_INIT depends on MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_VGA_TEXT_FRAMEBUFFER select HAVE_VGA_TEXT_FRAMEBUFFER
select HAVE_LINEAR_FRAMEBUFFER
select VGA select VGA
help help
VGA driver for qemu emulated vga cards supporting VGA driver for qemu emulated vga cards supporting

View File

@ -99,6 +99,7 @@ config GOP_SUPPORT
bool "Enable GOP support" bool "Enable GOP support"
default n default n
select ADD_VBT_DATA_FILE select ADD_VBT_DATA_FILE
select HAVE_LINEAR_FRAMEBUFFER
config USE_GENERIC_FSP_CAR_INC config USE_GENERIC_FSP_CAR_INC
bool bool

View File

@ -16,6 +16,7 @@
config PLATFORM_USES_FSP2_0 config PLATFORM_USES_FSP2_0
bool bool
select UDK_2015_BINDING select UDK_2015_BINDING
select HAVE_LINEAR_FRAMEBUFFER
help help
Include FSP 2.0 wrappers and functionality Include FSP 2.0 wrappers and functionality

View File

@ -18,8 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_ACPI_TABLES select HAVE_ACPI_TABLES
select HAVE_ACPI_RESUME select HAVE_ACPI_RESUME
select USE_OPTION_TABLE select USE_OPTION_TABLE
select MAINBOARD_HAS_NATIVE_VGA_INIT select I945_LVDS
select VGA
config MAINBOARD_DIR config MAINBOARD_DIR
string string

View File

@ -29,6 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select CONSOLE_SERIAL select CONSOLE_SERIAL
select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
select ARCH_BOOTBLOCK_ARMV7 select ARCH_BOOTBLOCK_ARMV7
select ARCH_ROMSTAGE_ARMV7 select ARCH_ROMSTAGE_ARMV7
select ARCH_RAMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7

View File

@ -33,9 +33,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select UDELAY_LAPIC select UDELAY_LAPIC
select BOARD_ROMSIZE_KB_1024 select BOARD_ROMSIZE_KB_1024
select CHANNEL_XOR_RANDOMIZATION select CHANNEL_XOR_RANDOMIZATION
select VGA
select MAINBOARD_HAS_NATIVE_VGA_INIT
select INTEL_INT15 select INTEL_INT15
select I945_LVDS
config MAINBOARD_DIR config MAINBOARD_DIR
string string

View File

@ -27,6 +27,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select DRIVER_TI_TPS65090 select DRIVER_TI_TPS65090
select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
config VBOOT config VBOOT
select VBOOT_VBNV_EC select VBOOT_VBNV_EC

View File

@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select MAINBOARD_HAS_LPC_TPM select MAINBOARD_HAS_LPC_TPM
select SERIRQ_CONTINUOUS_MODE select SERIRQ_CONTINUOUS_MODE
select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
config VBOOT config VBOOT
select EC_GOOGLE_CHROMEEC_SWITCHES select EC_GOOGLE_CHROMEEC_SWITCHES

View File

@ -23,8 +23,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_SPI select EC_GOOGLE_CHROMEEC_SPI
select TEGRA124_MODEL_CD570M select TEGRA124_MODEL_CD570M
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select SPI_FLASH select SPI_FLASH
select SPI_FLASH_GIGADEVICE select SPI_FLASH_GIGADEVICE

View File

@ -24,8 +24,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC
select EC_GOOGLE_CHROMEEC_SPI select EC_GOOGLE_CHROMEEC_SPI
select TEGRA124_MODEL_CD570M select TEGRA124_MODEL_CD570M
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select SPI_FLASH select SPI_FLASH
select SPI_FLASH_GIGADEVICE select SPI_FLASH_GIGADEVICE

View File

@ -25,8 +25,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select SOC_NVIDIA_TEGRA124 select SOC_NVIDIA_TEGRA124
select TEGRA124_MODEL_CD570M select TEGRA124_MODEL_CD570M
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select SPI_FLASH select SPI_FLASH
select SPI_FLASH_GIGADEVICE select SPI_FLASH_GIGADEVICE

View File

@ -35,6 +35,7 @@ config BOARD_SPECIFIC_OPTIONS
select EC_GOOGLE_CHROMEEC_SPI select EC_GOOGLE_CHROMEEC_SPI
select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select RAM_CODE_SUPPORT select RAM_CODE_SUPPORT
select SPI_FLASH select SPI_FLASH

View File

@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
select DRIVER_PARADE_PS8625 select DRIVER_PARADE_PS8625
config VBOOT config VBOOT

View File

@ -36,8 +36,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select EC_GOOGLE_CHROMEEC_SPI select EC_GOOGLE_CHROMEEC_SPI
select RAM_CODE_SUPPORT select RAM_CODE_SUPPORT
select SOC_ROCKCHIP_RK3288 select SOC_ROCKCHIP_RK3288
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select HAVE_HARD_RESET select HAVE_HARD_RESET

View File

@ -21,8 +21,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select COMMON_CBFS_SPI_WRAPPER select COMMON_CBFS_SPI_WRAPPER
select HAVE_HARD_RESET select HAVE_HARD_RESET
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select RAM_CODE_SUPPORT select RAM_CODE_SUPPORT
select SOC_ROCKCHIP_RK3288 select SOC_ROCKCHIP_RK3288

View File

@ -21,8 +21,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select BOARD_ROMSIZE_KB_4096 select BOARD_ROMSIZE_KB_4096
select COMMON_CBFS_SPI_WRAPPER select COMMON_CBFS_SPI_WRAPPER
select HAVE_HARD_RESET select HAVE_HARD_RESET
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select MAINBOARD_HAS_CHROMEOS select MAINBOARD_HAS_CHROMEOS
select RAM_CODE_SUPPORT select RAM_CODE_SUPPORT
select SOC_ROCKCHIP_RK3288 select SOC_ROCKCHIP_RK3288

View File

@ -20,9 +20,9 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select CHANNEL_XOR_RANDOMIZATION select CHANNEL_XOR_RANDOMIZATION
select HAVE_ACPI_TABLES select HAVE_ACPI_TABLES
select HAVE_ACPI_RESUME select HAVE_ACPI_RESUME
select MAINBOARD_HAS_NATIVE_VGA_INIT
select H8_DOCK_EARLY_INIT select H8_DOCK_EARLY_INIT
select HAVE_CMOS_DEFAULT select HAVE_CMOS_DEFAULT
select I945_LVDS
config MAINBOARD_DIR config MAINBOARD_DIR
string string

View File

@ -23,9 +23,9 @@ config BOARD_SPECIFIC_OPTIONS # dummy
select HAVE_ACPI_TABLES select HAVE_ACPI_TABLES
select HAVE_ACPI_RESUME select HAVE_ACPI_RESUME
select USE_OPTION_TABLE select USE_OPTION_TABLE
select MAINBOARD_HAS_NATIVE_VGA_INIT
select H8_DOCK_EARLY_INIT select H8_DOCK_EARLY_INIT
select DRIVERS_LENOVO_WACOM select DRIVERS_LENOVO_WACOM
select I945_LVDS
config MAINBOARD_DIR config MAINBOARD_DIR
string string

View File

@ -26,6 +26,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy
select INTEL_GMA_ACPI select INTEL_GMA_ACPI
select INTEL_GMA_SSC_ALTERNATE_REF select INTEL_GMA_SSC_ALTERNATE_REF
select RELOCATABLE_RAMSTAGE select RELOCATABLE_RAMSTAGE
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
config CBFS_SIZE config CBFS_SIZE

View File

@ -43,6 +43,15 @@ config VGA_BIOS_ID
default "8086,27a2" if NORTHBRIDGE_INTEL_SUBTYPE_I945GM default "8086,27a2" if NORTHBRIDGE_INTEL_SUBTYPE_I945GM
default "8086,2772" if NORTHBRIDGE_INTEL_SUBTYPE_I945GC default "8086,2772" if NORTHBRIDGE_INTEL_SUBTYPE_I945GC
config I945_LVDS
def_bool n
select MAINBOARD_HAS_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
help
Selected by mainboards that use native graphics initialization
for the LVDS port. A linear framebuffer is only supported for
LVDS.
config CHANNEL_XOR_RANDOMIZATION config CHANNEL_XOR_RANDOMIZATION
bool bool
default n default n

View File

@ -22,6 +22,7 @@ config NORTHBRIDGE_INTEL_NEHALEM
select INTEL_GMA_ACPI select INTEL_GMA_ACPI
select NORTHBRIDGE_INTEL_COMMON_MRC_CACHE select NORTHBRIDGE_INTEL_COMMON_MRC_CACHE
select ACPI_HUGE_LOWMEM_BACKUP select ACPI_HUGE_LOWMEM_BACKUP
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
if NORTHBRIDGE_INTEL_NEHALEM if NORTHBRIDGE_INTEL_NEHALEM

View File

@ -62,6 +62,7 @@ config SANDYBRIDGE_IVYBRIDGE_LVDS
config MAINBOARD_DO_NATIVE_VGA_INIT config MAINBOARD_DO_NATIVE_VGA_INIT
select VGA select VGA
select INTEL_EDID select INTEL_EDID
select HAVE_LINEAR_FRAMEBUFFER
select HAVE_VGA_TEXT_FRAMEBUFFER select HAVE_VGA_TEXT_FRAMEBUFFER
config MRC_CACHE_SIZE config MRC_CACHE_SIZE

View File

@ -25,6 +25,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy
select VGA select VGA
select INTEL_GMA_ACPI select INTEL_GMA_ACPI
select RELOCATABLE_RAMSTAGE select RELOCATABLE_RAMSTAGE
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
config CBFS_SIZE config CBFS_SIZE

View File

@ -13,6 +13,9 @@ config SOC_NVIDIA_TEGRA124
select BOOTBLOCK_CONSOLE select BOOTBLOCK_CONSOLE
select ARM_LPAE select ARM_LPAE
select GENERIC_GPIO_LIB select GENERIC_GPIO_LIB
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
if SOC_NVIDIA_TEGRA124 if SOC_NVIDIA_TEGRA124

View File

@ -26,6 +26,7 @@ config MAINBOARD_DO_DSI_INIT
bool "Use dsi graphics interface" bool "Use dsi graphics interface"
depends on MAINBOARD_DO_NATIVE_VGA_INIT depends on MAINBOARD_DO_NATIVE_VGA_INIT
default n default n
select HAVE_LINEAR_FRAMEBUFFER
help help
Initialize dsi display Initialize dsi display
@ -33,6 +34,7 @@ config MAINBOARD_DO_SOR_INIT
bool "Use dp graphics interface" bool "Use dp graphics interface"
depends on MAINBOARD_DO_NATIVE_VGA_INIT depends on MAINBOARD_DO_NATIVE_VGA_INIT
default n default n
select HAVE_LINEAR_FRAMEBUFFER
help help
Initialize dp display Initialize dp display

View File

@ -28,6 +28,9 @@ config SOC_ROCKCHIP_RK3288
select GENERIC_GPIO_LIB select GENERIC_GPIO_LIB
select RTC select RTC
select UART_OVERRIDE_REFCLK select UART_OVERRIDE_REFCLK
select MAINBOARD_HAS_NATIVE_VGA_INIT
select MAINBOARD_DO_NATIVE_VGA_INIT
select HAVE_LINEAR_FRAMEBUFFER
if SOC_ROCKCHIP_RK3288 if SOC_ROCKCHIP_RK3288

View File

@ -11,6 +11,7 @@ config SOC_ROCKCHIP_RK3399
select GENERIC_UDELAY select GENERIC_UDELAY
select HAVE_MONOTONIC_TIMER select HAVE_MONOTONIC_TIMER
select UART_OVERRIDE_REFCLK select UART_OVERRIDE_REFCLK
select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT
if SOC_ROCKCHIP_RK3399 if SOC_ROCKCHIP_RK3399