diff options
author | Nico Huber <nico.h@gmx.de> | 2017-05-20 01:07:48 +0200 |
---|---|---|
committer | Martin Roth <martinroth@google.com> | 2017-06-02 18:37:45 +0200 |
commit | 7971582ec49574e42c5fa5d75e6bdba8a0b9b1f8 (patch) | |
tree | 53ab8f8d49a541e22f8252967faa2c6bb4a81845 | |
parent | ce642f08b953dd752c5edeb1899b193c202d22fd (diff) | |
download | coreboot-7971582ec49574e42c5fa5d75e6bdba8a0b9b1f8.tar.xz |
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>
28 files changed, 52 insertions, 21 deletions
diff --git a/src/device/Kconfig b/src/device/Kconfig index 50d75c7b14..cf70a980c5 100644 --- a/src/device/Kconfig +++ b/src/device/Kconfig @@ -23,7 +23,20 @@ config MAINBOARD_HAS_NATIVE_VGA_INIT config HAVE_VGA_TEXT_FRAMEBUFFER 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 bool "Use native graphics initialization" @@ -48,6 +61,7 @@ config MAINBOARD_USE_LIBGFXINIT depends on MAINBOARD_DO_NATIVE_VGA_INIT depends on MAINBOARD_HAS_LIBGFXINIT select HAVE_VGA_TEXT_FRAMEBUFFER + select HAVE_LINEAR_FRAMEBUFFER select RAMSTAGE_LIBHWBASE select VGA if !FRAMEBUFFER_KEEP_VESA_MODE select NO_EDID_FILL_FB @@ -383,12 +397,13 @@ config SOFTWARE_I2C endmenu 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 prompt "Set framebuffer graphics resolution" bool 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) @@ -527,7 +542,7 @@ config FRAMEBUFFER_VESA_MODE config FRAMEBUFFER_KEEP_VESA_MODE prompt "Keep VESA framebuffer" bool - depends on HAVE_VGA_TEXT_FRAMEBUFFER + depends on HAVE_VGA_TEXT_FRAMEBUFFER && (HAVE_VBE_LINEAR_FRAMEBUFFER || HAVE_LINEAR_FRAMEBUFFER) help This option keeps the framebuffer mode set after coreboot finishes execution. If this option is enabled, coreboot will pass a diff --git a/src/drivers/emulation/qemu/Kconfig b/src/drivers/emulation/qemu/Kconfig index 0b847ba585..f8aad88730 100644 --- a/src/drivers/emulation/qemu/Kconfig +++ b/src/drivers/emulation/qemu/Kconfig @@ -4,6 +4,7 @@ config DRIVERS_EMULATION_QEMU_BOCHS depends on BOARD_EMULATION_QEMU_X86 depends on MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER + select HAVE_LINEAR_FRAMEBUFFER select VGA help VGA driver for qemu emulated vga cards supporting diff --git a/src/drivers/intel/fsp1_1/Kconfig b/src/drivers/intel/fsp1_1/Kconfig index cc3c0a7104..13137ca831 100644 --- a/src/drivers/intel/fsp1_1/Kconfig +++ b/src/drivers/intel/fsp1_1/Kconfig @@ -99,6 +99,7 @@ config GOP_SUPPORT bool "Enable GOP support" default n select ADD_VBT_DATA_FILE + select HAVE_LINEAR_FRAMEBUFFER config USE_GENERIC_FSP_CAR_INC bool diff --git a/src/drivers/intel/fsp2_0/Kconfig b/src/drivers/intel/fsp2_0/Kconfig index 864b3a1a2d..0c6b229ccb 100644 --- a/src/drivers/intel/fsp2_0/Kconfig +++ b/src/drivers/intel/fsp2_0/Kconfig @@ -16,6 +16,7 @@ config PLATFORM_USES_FSP2_0 bool select UDK_2015_BINDING + select HAVE_LINEAR_FRAMEBUFFER help Include FSP 2.0 wrappers and functionality diff --git a/src/mainboard/apple/macbook21/Kconfig b/src/mainboard/apple/macbook21/Kconfig index e2ca8fe554..34e9f250c1 100644 --- a/src/mainboard/apple/macbook21/Kconfig +++ b/src/mainboard/apple/macbook21/Kconfig @@ -18,8 +18,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select HAVE_ACPI_TABLES select HAVE_ACPI_RESUME select USE_OPTION_TABLE - select MAINBOARD_HAS_NATIVE_VGA_INIT - select VGA + select I945_LVDS config MAINBOARD_DIR string diff --git a/src/mainboard/emulation/qemu-armv7/Kconfig b/src/mainboard/emulation/qemu-armv7/Kconfig index 1a65ffbc79..7ae76396bd 100644 --- a/src/mainboard/emulation/qemu-armv7/Kconfig +++ b/src/mainboard/emulation/qemu-armv7/Kconfig @@ -29,6 +29,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select CONSOLE_SERIAL select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER select ARCH_BOOTBLOCK_ARMV7 select ARCH_ROMSTAGE_ARMV7 select ARCH_RAMSTAGE_ARMV7 diff --git a/src/mainboard/getac/p470/Kconfig b/src/mainboard/getac/p470/Kconfig index cfe5f8fb9e..d46c7680f7 100644 --- a/src/mainboard/getac/p470/Kconfig +++ b/src/mainboard/getac/p470/Kconfig @@ -33,9 +33,8 @@ config BOARD_SPECIFIC_OPTIONS # dummy select UDELAY_LAPIC select BOARD_ROMSIZE_KB_1024 select CHANNEL_XOR_RANDOMIZATION - select VGA - select MAINBOARD_HAS_NATIVE_VGA_INIT select INTEL_INT15 + select I945_LVDS config MAINBOARD_DIR string diff --git a/src/mainboard/google/daisy/Kconfig b/src/mainboard/google/daisy/Kconfig index b08500de24..5311e37c86 100644 --- a/src/mainboard/google/daisy/Kconfig +++ b/src/mainboard/google/daisy/Kconfig @@ -27,6 +27,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select DRIVER_TI_TPS65090 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER config VBOOT select VBOOT_VBNV_EC diff --git a/src/mainboard/google/link/Kconfig b/src/mainboard/google/link/Kconfig index 8469e86c1f..217e6c1d15 100644 --- a/src/mainboard/google/link/Kconfig +++ b/src/mainboard/google/link/Kconfig @@ -15,6 +15,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select MAINBOARD_HAS_LPC_TPM select SERIRQ_CONTINUOUS_MODE select MAINBOARD_HAS_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT config VBOOT select EC_GOOGLE_CHROMEEC_SWITCHES diff --git a/src/mainboard/google/nyan/Kconfig b/src/mainboard/google/nyan/Kconfig index d944a439b3..43064cdf62 100644 --- a/src/mainboard/google/nyan/Kconfig +++ b/src/mainboard/google/nyan/Kconfig @@ -23,8 +23,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_SPI select TEGRA124_MODEL_CD570M - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_GIGADEVICE diff --git a/src/mainboard/google/nyan_big/Kconfig b/src/mainboard/google/nyan_big/Kconfig index cacc301865..00761546ba 100644 --- a/src/mainboard/google/nyan_big/Kconfig +++ b/src/mainboard/google/nyan_big/Kconfig @@ -24,8 +24,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select EC_GOOGLE_CHROMEEC select EC_GOOGLE_CHROMEEC_SPI select TEGRA124_MODEL_CD570M - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_GIGADEVICE diff --git a/src/mainboard/google/nyan_blaze/Kconfig b/src/mainboard/google/nyan_blaze/Kconfig index 2264068f8c..7691f73163 100644 --- a/src/mainboard/google/nyan_blaze/Kconfig +++ b/src/mainboard/google/nyan_blaze/Kconfig @@ -25,8 +25,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select SOC_NVIDIA_TEGRA124 select TEGRA124_MODEL_CD570M select MAINBOARD_HAS_CHROMEOS - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select BOARD_ROMSIZE_KB_4096 select SPI_FLASH select SPI_FLASH_GIGADEVICE diff --git a/src/mainboard/google/oak/Kconfig b/src/mainboard/google/oak/Kconfig index c00c622b29..a4a34b273e 100644 --- a/src/mainboard/google/oak/Kconfig +++ b/src/mainboard/google/oak/Kconfig @@ -35,6 +35,7 @@ config BOARD_SPECIFIC_OPTIONS select EC_GOOGLE_CHROMEEC_SPI select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER select MAINBOARD_HAS_CHROMEOS select RAM_CODE_SUPPORT select SPI_FLASH diff --git a/src/mainboard/google/peach_pit/Kconfig b/src/mainboard/google/peach_pit/Kconfig index 640c0099cf..fead669613 100644 --- a/src/mainboard/google/peach_pit/Kconfig +++ b/src/mainboard/google/peach_pit/Kconfig @@ -23,6 +23,7 @@ config BOARD_SPECIFIC_OPTIONS # dummy select BOARD_ROMSIZE_KB_4096 select MAINBOARD_HAS_NATIVE_VGA_INIT select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER select DRIVER_PARADE_PS8625 config VBOOT diff --git a/src/mainboard/google/veyron/Kconfig b/src/mainboard/google/veyron/Kconfig index 5fb340bcfc..cbb5b9a00f 100644 --- a/src/mainboard/google/veyron/Kconfig +++ b/src/mainboard/google/veyron/Kconfig @@ -36,8 +36,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select EC_GOOGLE_CHROMEEC_SPI select RAM_CODE_SUPPORT select SOC_ROCKCHIP_RK3288 - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_HAS_CHROMEOS select BOARD_ROMSIZE_KB_4096 select HAVE_HARD_RESET diff --git a/src/mainboard/google/veyron_mickey/Kconfig b/src/mainboard/google/veyron_mickey/Kconfig index 1f66ff035e..2df0688a1f 100644 --- a/src/mainboard/google/veyron_mickey/Kconfig +++ b/src/mainboard/google/veyron_mickey/Kconfig @@ -21,8 +21,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select BOARD_ROMSIZE_KB_4096 select COMMON_CBFS_SPI_WRAPPER select HAVE_HARD_RESET - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_HAS_CHROMEOS select RAM_CODE_SUPPORT select SOC_ROCKCHIP_RK3288 diff --git a/src/mainboard/google/veyron_rialto/Kconfig b/src/mainboard/google/veyron_rialto/Kconfig index cc6a4a6058..ec83a990d5 100644 --- a/src/mainboard/google/veyron_rialto/Kconfig +++ b/src/mainboard/google/veyron_rialto/Kconfig @@ -21,8 +21,6 @@ config BOARD_SPECIFIC_OPTIONS # dummy select BOARD_ROMSIZE_KB_4096 select COMMON_CBFS_SPI_WRAPPER select HAVE_HARD_RESET - select MAINBOARD_HAS_NATIVE_VGA_INIT - select MAINBOARD_DO_NATIVE_VGA_INIT select MAINBOARD_HAS_CHROMEOS select RAM_CODE_SUPPORT select SOC_ROCKCHIP_RK3288 diff --git a/src/mainboard/lenovo/t60/Kconfig b/src/mainboard/lenovo/t60/Kconfig index b3f885eb32..3c77a8a98f 100644 --- a/src/mainboard/lenovo/t60/Kconfig +++ b/src/mainboard/lenovo/t60/Kconfig @@ -20,9 +20,9 @@ config BOARD_SPECIFIC_OPTIONS # dummy select CHANNEL_XOR_RANDOMIZATION select HAVE_ACPI_TABLES select HAVE_ACPI_RESUME - select MAINBOARD_HAS_NATIVE_VGA_INIT select H8_DOCK_EARLY_INIT select HAVE_CMOS_DEFAULT + select I945_LVDS config MAINBOARD_DIR string diff --git a/src/mainboard/lenovo/x60/Kconfig b/src/mainboard/lenovo/x60/Kconfig index 977f378fc6..1d55f988ee 100644 --- a/src/mainboard/lenovo/x60/Kconfig +++ b/src/mainboard/lenovo/x60/Kconfig @@ -23,9 +23,9 @@ config BOARD_SPECIFIC_OPTIONS # dummy select HAVE_ACPI_TABLES select HAVE_ACPI_RESUME select USE_OPTION_TABLE - select MAINBOARD_HAS_NATIVE_VGA_INIT select H8_DOCK_EARLY_INIT select DRIVERS_LENOVO_WACOM + select I945_LVDS config MAINBOARD_DIR string diff --git a/src/northbridge/intel/gm45/Kconfig b/src/northbridge/intel/gm45/Kconfig index 6885ff343d..63bc838fc9 100644 --- a/src/northbridge/intel/gm45/Kconfig +++ b/src/northbridge/intel/gm45/Kconfig @@ -26,6 +26,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy select INTEL_GMA_ACPI select INTEL_GMA_SSC_ALTERNATE_REF select RELOCATABLE_RAMSTAGE + select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT config CBFS_SIZE diff --git a/src/northbridge/intel/i945/Kconfig b/src/northbridge/intel/i945/Kconfig index 8492d77a31..482f98aaa5 100644 --- a/src/northbridge/intel/i945/Kconfig +++ b/src/northbridge/intel/i945/Kconfig @@ -43,6 +43,15 @@ config VGA_BIOS_ID default "8086,27a2" if NORTHBRIDGE_INTEL_SUBTYPE_I945GM 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 bool default n diff --git a/src/northbridge/intel/nehalem/Kconfig b/src/northbridge/intel/nehalem/Kconfig index ca4128a060..4fdd2bd282 100644 --- a/src/northbridge/intel/nehalem/Kconfig +++ b/src/northbridge/intel/nehalem/Kconfig @@ -22,6 +22,7 @@ config NORTHBRIDGE_INTEL_NEHALEM select INTEL_GMA_ACPI select NORTHBRIDGE_INTEL_COMMON_MRC_CACHE 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 if NORTHBRIDGE_INTEL_NEHALEM diff --git a/src/northbridge/intel/sandybridge/Kconfig b/src/northbridge/intel/sandybridge/Kconfig index 07d1815762..ad1ceae531 100644 --- a/src/northbridge/intel/sandybridge/Kconfig +++ b/src/northbridge/intel/sandybridge/Kconfig @@ -62,6 +62,7 @@ config SANDYBRIDGE_IVYBRIDGE_LVDS config MAINBOARD_DO_NATIVE_VGA_INIT select VGA select INTEL_EDID + select HAVE_LINEAR_FRAMEBUFFER select HAVE_VGA_TEXT_FRAMEBUFFER config MRC_CACHE_SIZE diff --git a/src/northbridge/intel/x4x/Kconfig b/src/northbridge/intel/x4x/Kconfig index aef21b5e8b..5517d97160 100644 --- a/src/northbridge/intel/x4x/Kconfig +++ b/src/northbridge/intel/x4x/Kconfig @@ -25,6 +25,7 @@ config NORTHBRIDGE_SPECIFIC_OPTIONS # dummy select VGA select INTEL_GMA_ACPI select RELOCATABLE_RAMSTAGE + select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT select HAVE_VGA_TEXT_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT config CBFS_SIZE diff --git a/src/soc/nvidia/tegra124/Kconfig b/src/soc/nvidia/tegra124/Kconfig index cd753f42ae..8fe0451613 100644 --- a/src/soc/nvidia/tegra124/Kconfig +++ b/src/soc/nvidia/tegra124/Kconfig @@ -13,6 +13,9 @@ config SOC_NVIDIA_TEGRA124 select BOOTBLOCK_CONSOLE select ARM_LPAE select GENERIC_GPIO_LIB + select MAINBOARD_HAS_NATIVE_VGA_INIT + select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER if SOC_NVIDIA_TEGRA124 diff --git a/src/soc/nvidia/tegra210/Kconfig b/src/soc/nvidia/tegra210/Kconfig index 30a23ef394..c7c1cf0a7a 100644 --- a/src/soc/nvidia/tegra210/Kconfig +++ b/src/soc/nvidia/tegra210/Kconfig @@ -26,6 +26,7 @@ config MAINBOARD_DO_DSI_INIT bool "Use dsi graphics interface" depends on MAINBOARD_DO_NATIVE_VGA_INIT default n + select HAVE_LINEAR_FRAMEBUFFER help Initialize dsi display @@ -33,6 +34,7 @@ config MAINBOARD_DO_SOR_INIT bool "Use dp graphics interface" depends on MAINBOARD_DO_NATIVE_VGA_INIT default n + select HAVE_LINEAR_FRAMEBUFFER help Initialize dp display diff --git a/src/soc/rockchip/rk3288/Kconfig b/src/soc/rockchip/rk3288/Kconfig index 19e52b64d9..293743c86c 100644 --- a/src/soc/rockchip/rk3288/Kconfig +++ b/src/soc/rockchip/rk3288/Kconfig @@ -28,6 +28,9 @@ config SOC_ROCKCHIP_RK3288 select GENERIC_GPIO_LIB select RTC select UART_OVERRIDE_REFCLK + select MAINBOARD_HAS_NATIVE_VGA_INIT + select MAINBOARD_DO_NATIVE_VGA_INIT + select HAVE_LINEAR_FRAMEBUFFER if SOC_ROCKCHIP_RK3288 diff --git a/src/soc/rockchip/rk3399/Kconfig b/src/soc/rockchip/rk3399/Kconfig index ff857c022c..5e7c55a7f9 100644 --- a/src/soc/rockchip/rk3399/Kconfig +++ b/src/soc/rockchip/rk3399/Kconfig @@ -11,6 +11,7 @@ config SOC_ROCKCHIP_RK3399 select GENERIC_UDELAY select HAVE_MONOTONIC_TIMER select UART_OVERRIDE_REFCLK + select HAVE_LINEAR_FRAMEBUFFER if MAINBOARD_DO_NATIVE_VGA_INIT if SOC_ROCKCHIP_RK3399 |