summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Documentation/gfx/libgfxinit.md27
-rw-r--r--src/drivers/intel/gma/Kconfig7
2 files changed, 29 insertions, 5 deletions
diff --git a/Documentation/gfx/libgfxinit.md b/Documentation/gfx/libgfxinit.md
index bb4528b958..40f194a4eb 100644
--- a/Documentation/gfx/libgfxinit.md
+++ b/Documentation/gfx/libgfxinit.md
@@ -88,11 +88,28 @@ know through which interface the EDID can be queried:
select GFX_GMA_ANALOG_I2C_HDMI_C # or
select GFX_GMA_ANALOG_I2C_HDMI_D
-Beside Kconfig options, *libgfxinit* needs to know which ports are
-implemented on a board and should be probed for displays. The mapping
-between the physical ports and these entries depends on the hardware
-implementation and can be recovered by testing or studying the output
-of `intelvbttool` or `intel_vbt_decode`.
+*libgfxinit* needs to know which ports are implemented on a board
+and should be probed for displays. There are two mechanisms to
+constrain the list of ports to probe, 1. port presence straps on
+the mainboard, and 2. a list of ports provided by *coreboot* (see
+below).
+
+Presence straps are configured via the state of certains pins of
+the chipset at reset time. They are documented in the chipset's
+datasheets. By default, *libgfxinit* honors these straps for
+safety. However, some boards don't implement the straps correctly.
+If ports are not strapped as implemented by error, one can select
+an option to ignore the straps:
+
+ select GFX_GMA_IGNORE_PRESENCE_STRAPS
+
+In the opposite case, that ports are strapped as implemented,
+but are actually unconnected, one has to make sure that the
+list of ports in *coreboot* omits them.
+
+The mapping between the physical ports and these entries depends on
+the hardware implementation and can be recovered by testing or
+studying the output of `intelvbttool` or `intel_vbt_decode`.
Each board has to implement the package `GMA.Mainboard` with a list:
ports : HW.GFX.GMA.Display_Probing.Port_List;
diff --git a/src/drivers/intel/gma/Kconfig b/src/drivers/intel/gma/Kconfig
index ad44a2f480..635de1c87a 100644
--- a/src/drivers/intel/gma/Kconfig
+++ b/src/drivers/intel/gma/Kconfig
@@ -127,4 +127,11 @@ config GFX_GMA_ANALOG_I2C_PORT
digital displays. In that case, the EDID for a VGA display has to be
read over the I2C interface of the coupled digital port.
+config GFX_GMA_IGNORE_PRESENCE_STRAPS
+ def_bool n
+ help
+ libgfxinit uses the GPU presence straps to determine if a display port
+ is present/enabled. Select this option if a board doesn't correctly implement
+ these straps, causing libgfxinit to fail to detect an attached panel.
+
endif