From 566f87a24972837419ec789164200445167d6e95 Mon Sep 17 00:00:00 2001 From: David Wu Date: Thu, 27 Mar 2025 11:57:34 +0800 Subject: [PATCH] mb/google/nissa/var/dirks: Add romstage early graphics for dirks Dirks is chromebox, enable early graphics support for HDMI. BUG=b:399236160 TEST=On-screen text message seen during MRC training on dirks Change-Id: I8ab2c3a2cc72059facbbc0bba59cc480a5081a9e Signed-off-by: David Wu Reviewed-on: https://review.coreboot.org/c/coreboot/+/87020 Tested-by: build bot (Jenkins) Reviewed-by: Eric Lai Reviewed-by: Ivy Jian Reviewed-by: Jayvik Desai Reviewed-by: Kapil Porwal --- .../baseboard/nissa/gma-mainboard.ads | 2 ++ .../google/brya/variants/dirks/gpio.c | 30 +++++++++++++++++++ 2 files changed, 32 insertions(+) diff --git a/src/mainboard/google/brya/variants/baseboard/nissa/gma-mainboard.ads b/src/mainboard/google/brya/variants/baseboard/nissa/gma-mainboard.ads index 3b02f14d95..bb28ffdf1f 100644 --- a/src/mainboard/google/brya/variants/baseboard/nissa/gma-mainboard.ads +++ b/src/mainboard/google/brya/variants/baseboard/nissa/gma-mainboard.ads @@ -9,5 +9,7 @@ use HW.GFX.GMA.Display_Probing; private package GMA.Mainboard is ports : constant Port_List := (eDP, + HDMI1, + HDMI2, others => Disabled); end GMA.Mainboard; diff --git a/src/mainboard/google/brya/variants/dirks/gpio.c b/src/mainboard/google/brya/variants/dirks/gpio.c index 209ca047dc..19e540a682 100644 --- a/src/mainboard/google/brya/variants/dirks/gpio.c +++ b/src/mainboard/google/brya/variants/dirks/gpio.c @@ -2,6 +2,7 @@ #include #include +#include #include /* Pad configuration in ramstage for dirks */ @@ -146,6 +147,35 @@ static const struct pad_config romstage_gpio_table[] = { PAD_CFG_GPO(GPP_H20, 1, DEEP), }; +const struct pad_config early_graphics_gpio_table[] = { + /* A18 : NC ==> HDMI2_HPD*/ + PAD_CFG_NF(GPP_A18, NONE, DEEP, NF1), + /* A20 : DDSP_HPD2 ==> EC_SOC_HDMI_HPD */ + PAD_CFG_NF(GPP_A20, NONE, DEEP, NF1), + + /* E14 : DDSP_HPDA ==> HDMI1_HPD */ + PAD_CFG_NF(GPP_E14, NONE, DEEP, NF1), + /* E20 : DDP2_CTRLCLK ==> HDMI_DDC_SCL */ + PAD_CFG_NF(GPP_E20, NONE, DEEP, NF1), + /* E21 : DDP2_CTRLDATA ==> HDMI_DDC_SDA_STRAP */ + PAD_CFG_NF(GPP_E21, NONE, DEEP, NF1), + /* E22 : DDPA_CTRLCLK ==> DDPA_CTRLCLK */ + PAD_CFG_NF(GPP_E22, NONE, DEEP, NF1), + /* E23 : DDPA_CTRLDATA ==> DDPA_CTRLDATA */ + PAD_CFG_NF(GPP_E23, NONE, DEEP, NF1), + + /* H15 : HDMI_SRC_DDC_SCL */ + PAD_CFG_NF(GPP_H15, NONE, DEEP, NF1), + /* H17 : HDMI_SRC_DDC_SDA */ + PAD_CFG_NF(GPP_H17, NONE, DEEP, NF1), +}; + +const struct pad_config *variant_early_graphics_gpio_table(size_t *num) +{ + *num = ARRAY_SIZE(early_graphics_gpio_table); + return early_graphics_gpio_table; +} + const struct pad_config *variant_gpio_override_table(size_t *num) { *num = ARRAY_SIZE(override_gpio_table);