summaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/graphics.c
diff options
context:
space:
mode:
authorNico Huber <nico.huber@secunet.com>2017-06-08 16:46:51 +0200
committerPatrick Georgi <pgeorgi@google.com>2018-04-16 08:37:09 +0000
commit99b65668f990a04ef524c2303e2894d783aa1730 (patch)
treeb5cbe4fbb42438a2cb52290b80c046bb4f411de5 /src/soc/intel/skylake/graphics.c
parentedf2f59b1d93a1bc9161a67d3c00a9a05fa8519a (diff)
soc/intel/skylake: Hook up libgfxinit
Also base the FSP/GOP related bail-out on the correct Kconfig option to allow adding a VBT along with libgfxinit. Most things should work, what doesn't is backlight control because coreboot misses the settings (moved to FSP and need backporting). Also, Kaby Lake is still unsupported. TEST=Booted yet to be upstreamed Skylake-S port (Kontron/bSL6) both with text and linear framebuffer mode and viewed a FILO menu. Change-Id: I79fbfed7732cf02d054530ea7ec0d34de32836ba Signed-off-by: Nico Huber <nico.huber@secunet.com> Reviewed-on: https://review.coreboot.org/20113 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Subrata Banik <subrata.banik@intel.com>
Diffstat (limited to 'src/soc/intel/skylake/graphics.c')
-rw-r--r--src/soc/intel/skylake/graphics.c25
1 files changed, 17 insertions, 8 deletions
diff --git a/src/soc/intel/skylake/graphics.c b/src/soc/intel/skylake/graphics.c
index bda08c54c0..8991fa30b8 100644
--- a/src/soc/intel/skylake/graphics.c
+++ b/src/soc/intel/skylake/graphics.c
@@ -14,10 +14,12 @@
* GNU General Public License for more details.
*/
+#include <bootmode.h>
#include <cbmem.h>
#include <console/console.h>
#include <device/pci.h>
#include <drivers/intel/gma/i915_reg.h>
+#include <drivers/intel/gma/libgfxinit.h>
#include <intelblocks/graphics.h>
#include <drivers/intel/gma/opregion.h>
#include <soc/nvs.h>
@@ -45,14 +47,13 @@ void graphics_soc_init(struct device *dev)
/*
* GFX PEIM module inside FSP binary is taking care of graphics
- * initialization based on INTEL_GMA_ADD_VBT_DATA_FILE Kconfig
- * option and input VBT file. Hence no need to load/execute legacy VGA
- * OpROM in order to initialize GFX.
+ * initialization based on RUN_FSP_GOP Kconfig option and input
+ * VBT file.
*
- * In case of non-FSP solution, SoC need to select VGA_ROM_RUN
- * Kconfig to perform GFX initialization through VGA OpRom.
+ * In case of non-FSP solution, SoC need to select another
+ * Kconfig to perform GFX initialization.
*/
- if (IS_ENABLED(CONFIG_INTEL_GMA_ADD_VBT_DATA_FILE))
+ if (IS_ENABLED(CONFIG_RUN_FSP_GOP))
return;
/* IGD needs to Bus Master */
@@ -60,8 +61,16 @@ void graphics_soc_init(struct device *dev)
reg32 |= PCI_COMMAND_MASTER | PCI_COMMAND_MEMORY | PCI_COMMAND_IO;
pci_write_config32(dev, PCI_COMMAND, reg32);
- /* Initialize PCI device, load/execute BIOS Option ROM */
- pci_dev_init(dev);
+ if (IS_ENABLED(CONFIG_MAINBOARD_USE_LIBGFXINIT)) {
+ if (!acpi_is_wakeup_s3() && display_init_required()) {
+ int lightup_ok;
+ gma_gfxinit(&lightup_ok);
+ gfx_set_init_done(lightup_ok);
+ }
+ } else {
+ /* Initialize PCI device, load/execute BIOS Option ROM */
+ pci_dev_init(dev);
+ }
intel_gma_restore_opregion();
}