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/hw-gfx-gma-i2c.adb b/common/hw-gfx-gma-i2c.adb
index 5b66f07..4b58dde 100644
--- a/common/hw-gfx-gma-i2c.adb
+++ b/common/hw-gfx-gma-i2c.adb
@@ -37,6 +37,9 @@
GMBUS0_PIN_PAIR_SELECT_DIGI_C : constant := 4 * 2 ** 0;
GMBUS0_PIN_PAIR_SELECT_DIGI_B : constant := 5 * 2 ** 0;
GMBUS0_PIN_PAIR_SELECT_DIGI_D : constant := 6 * 2 ** 0;
+ -- Broxton uses different pins
+ GMBUS0_PIN_PAIR_SELECT_BXT_B : constant := 1 * 2 ** 0;
+ GMBUS0_PIN_PAIR_SELECT_BXT_C : constant := 2 * 2 ** 0;
GMBUS1_SOFTWARE_CLEAR_INTERRUPT : constant := 1 * 2 ** 31;
GMBUS1_SOFTWARE_READY : constant := 1 * 2 ** 30;
@@ -85,13 +88,19 @@
function GMBUS0_PIN_PAIR_SELECT (Port : PCH_Port) return Word32 is
begin
return
- (case Port is
- when PCH_DAC => GMBUS0_PIN_PAIR_SELECT_DAC,
- when PCH_LVDS => GMBUS0_PIN_PAIR_SELECT_LVDS,
- when PCH_HDMI_B => GMBUS0_PIN_PAIR_SELECT_DIGI_B,
- when PCH_HDMI_C => GMBUS0_PIN_PAIR_SELECT_DIGI_C,
- when PCH_HDMI_D => GMBUS0_PIN_PAIR_SELECT_DIGI_D,
- when others => GMBUS0_PIN_PAIR_SELECT_NONE);
+ (if Config.GMBUS_Alternative_Pins then
+ (case Port is
+ when PCH_HDMI_B => GMBUS0_PIN_PAIR_SELECT_BXT_B,
+ when PCH_HDMI_C => GMBUS0_PIN_PAIR_SELECT_BXT_C,
+ when others => GMBUS0_PIN_PAIR_SELECT_NONE)
+ else
+ (case Port is
+ when PCH_DAC => GMBUS0_PIN_PAIR_SELECT_DAC,
+ when PCH_LVDS => GMBUS0_PIN_PAIR_SELECT_LVDS,
+ when PCH_HDMI_B => GMBUS0_PIN_PAIR_SELECT_DIGI_B,
+ when PCH_HDMI_C => GMBUS0_PIN_PAIR_SELECT_DIGI_C,
+ when PCH_HDMI_D => GMBUS0_PIN_PAIR_SELECT_DIGI_D,
+ when others => GMBUS0_PIN_PAIR_SELECT_NONE));
end GMBUS0_PIN_PAIR_SELECT;
----------------------------------------------------------------------------