gma broxton: Add final glue
Add new configuration flags for Broxton and hook up its DDI_Phy
implementation in the shared Haswell DDI code. Haswell and Skylake
get DDI_Phy stubs.
Tested (in Linux userspace) on ASRock J3455-ITX which exposes the
following ports:
o VGA through an active eDP to VGA converter chip
o HDMI 2.0 through an active DP to HDMI converter chip
o DVI-D connected to the SoC
Change-Id: If72b228c6a4c45487261e6e7435d281ec2d97f38
Signed-off-by: Nico Huber <nico.huber@secunet.com>
Reviewed-on: https://review.coreboot.org/18426
Tested-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
diff --git a/common/haswell_shared/hw-gfx-gma-port_detect.adb b/common/haswell_shared/hw-gfx-gma-port_detect.adb
index b8ba37d..d8a1d07 100644
--- a/common/haswell_shared/hw-gfx-gma-port_detect.adb
+++ b/common/haswell_shared/hw-gfx-gma-port_detect.adb
@@ -82,10 +82,14 @@
if Config.Internal_Is_EDP then
-- DDI_A
- Registers.Is_Set_Mask
- (Register => Registers.DDI_BUF_CTL_A,
- Mask => DDI_PORT_DETECTED (DIGI_A),
- Result => Internal_Detected);
+ if Config.Has_Presence_Straps then
+ Registers.Is_Set_Mask
+ (Register => Registers.DDI_BUF_CTL_A,
+ Mask => DDI_PORT_DETECTED (DIGI_A),
+ Result => Internal_Detected);
+ else
+ Internal_Detected := True; -- XXX: Linux' i915 contains a fixme.
+ end if;
if Internal_Detected then
if Config.Has_HOTPLUG_CTL then
Registers.Set_Mask
@@ -114,10 +118,14 @@
-- DDI_[BCD]
for Port in Ext_Digital_Port range DIGI_B .. Config.Last_Digital_Port loop
- Registers.Is_Set_Mask
- (Register => Registers.SFUSE_STRAP,
- Mask => DDI_PORT_DETECTED (Port),
- Result => DDI_Detected);
+ if Config.Has_Presence_Straps then
+ Registers.Is_Set_Mask
+ (Register => Registers.SFUSE_STRAP,
+ Mask => DDI_PORT_DETECTED (Port),
+ Result => DDI_Detected);
+ else
+ DDI_Detected := True;
+ end if;
Config.Valid_Port (To_HDMI_Port (Port)) :=
Config.Valid_Port (To_HDMI_Port (Port)) and DDI_Detected;
Config.Valid_Port (To_DP_Port (Port)) :=