From 466696bfb0b76427149c1bf2997351e76398c542 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Micha=C5=82=20Kope=C4=87?= Date: Tue, 4 Mar 2025 12:14:53 +0100 Subject: [PATCH] mb/novacustom/mtl-h: Add iGPU variant MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Split V5x0TU into a separate variant of the mtl-h baseboard. This is in preparation to add support for the V5x0TNx variants, which is a different variant of the board, with a discrete NVIDIA GPU. Change-Id: I4f8215ace6b7a394f8d196be3f81c33b2cb4e9ec Signed-off-by: Michał Kopeć Reviewed-on: https://review.coreboot.org/c/coreboot/+/86709 Reviewed-by: Michał Żygowski Tested-by: build bot (Jenkins) --- src/mainboard/novacustom/mtl-h/Kconfig | 6 ++ src/mainboard/novacustom/mtl-h/Makefile.mk | 5 +- src/mainboard/novacustom/mtl-h/devicetree.cb | 51 --------------- .../mtl-h/{ => variants/igpu}/data.vbt | Bin .../mtl-h/{ => variants/igpu}/gpio.c | 0 .../mtl-h/{ => variants/igpu}/hda_verb.c | 0 .../mtl-h/variants/igpu/overridetree.cb | 58 ++++++++++++++++++ 7 files changed, 67 insertions(+), 53 deletions(-) rename src/mainboard/novacustom/mtl-h/{ => variants/igpu}/data.vbt (100%) rename src/mainboard/novacustom/mtl-h/{ => variants/igpu}/gpio.c (100%) rename src/mainboard/novacustom/mtl-h/{ => variants/igpu}/hda_verb.c (100%) create mode 100644 src/mainboard/novacustom/mtl-h/variants/igpu/overridetree.cb diff --git a/src/mainboard/novacustom/mtl-h/Kconfig b/src/mainboard/novacustom/mtl-h/Kconfig index 5d608b40ac..813a558085 100644 --- a/src/mainboard/novacustom/mtl-h/Kconfig +++ b/src/mainboard/novacustom/mtl-h/Kconfig @@ -41,6 +41,12 @@ if BOARD_NOVACUSTOM_MTLH_COMMON config MAINBOARD_DIR default "novacustom/mtl-h" +config VARIANT_DIR + default "igpu" if BOARD_NOVACUSTOM_V5X0TU_BASE + +config OVERRIDE_DEVICETREE + default "variants/\$(CONFIG_VARIANT_DIR)/overridetree.cb" + config MAINBOARD_PART_NUMBER default "V54x_6x_TU" if BOARD_NOVACUSTOM_V5X0TU_BASE diff --git a/src/mainboard/novacustom/mtl-h/Makefile.mk b/src/mainboard/novacustom/mtl-h/Makefile.mk index 9a35f5a80b..e4841b26c3 100644 --- a/src/mainboard/novacustom/mtl-h/Makefile.mk +++ b/src/mainboard/novacustom/mtl-h/Makefile.mk @@ -6,9 +6,10 @@ bootblock-y += bootblock.c bootblock-y += gpio_early.c romstage-y += romstage.c +romstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += ramstage.c -ramstage-y += hda_verb.c -ramstage-y += gpio.c +ramstage-y += variants/${VARIANT_DIR}/hda_verb.c +ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-$(CONFIG_HAVE_ACPI_TABLES) += fadt.c diff --git a/src/mainboard/novacustom/mtl-h/devicetree.cb b/src/mainboard/novacustom/mtl-h/devicetree.cb index 046b7a7599..76548bb292 100644 --- a/src/mainboard/novacustom/mtl-h/devicetree.cb +++ b/src/mainboard/novacustom/mtl-h/devicetree.cb @@ -26,33 +26,9 @@ chip soc/intel/meteorlake device cpu_cluster 0 on end device domain 0 on - subsystemid 0x1558 0xa743 inherit device ref system_agent on end device ref igpu on register "ddi_port_A_config" = "1" - register "ddi_ports_config" = "{ - [DDI_PORT_A] = DDI_ENABLE_HPD, /* eDP */ - [DDI_PORT_2] = DDI_ENABLE_DDC | DDI_ENABLE_HPD, /* HDMI 2.1 */ - }" - chip drivers/gfx/generic - register "device_count" = "6" - # DDIA for eDP - register "device[0].name" = ""LCD0"" - register "device[0].type" = "panel" - # DDIB unused - register "device[1].name" = ""DD01"" - # TCP0 for Thunderbolt 4 - register "device[2].name" = ""DD02"" - register "device[2].use_pld" = "true" - register "device[2].pld" = "ACPI_PLD_TYPE_C(RIGHT, CENTER, ACPI_PLD_GROUP(1, 1))" - # TCP1 unused - register "device[3].name" = ""DD03"" - # TCP2 for HDMI 2.1 - register "device[4].name" = ""DD04"" - # TCP3 unused - register "device[5].name" = ""DD05"" - device generic 0 on end - end end device ref dtt on end device ref pcie_rp10 on # M.2 2280 #2 @@ -214,39 +190,12 @@ chip soc/intel/meteorlake device generic 0 on end end end - device ref i2c0 on # Touchpad - register "serial_io_i2c_mode[PchSerialIoIndexI2C0]" = "PchSerialIoPci" - chip drivers/i2c/hid - register "generic.hid" = ""ELAN0412"" - register "generic.desc" = ""ELAN Touchpad"" - register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_B00)" - register "generic.detect" = "1" - register "hid_desc_reg_offset" = "0x01" - device i2c 15 on end - end - chip drivers/i2c/hid - register "generic.hid" = ""FTCS1000"" - register "generic.desc" = ""FocalTech Touchpad"" - register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_B00)" - register "generic.detect" = "1" - register "hid_desc_reg_offset" = "0x01" - device i2c 38 on end - end - end device ref i2c1 on # USB-PD EEPROM register "serial_io_i2c_mode[PchSerialIoIndexI2C1]" = "PchSerialIoPci" end device ref i2c3 on # Pantone ROM register "serial_io_i2c_mode[PchSerialIoIndexI2C3]" = "PchSerialIoPci" end - device ref pcie_rp5 on # GLAN - register "pcie_rp[PCH_RP(5)]" = "{ - .clk_src = 2, - .clk_req = 2, - .flags = PCIE_RP_LTR | PCIE_RP_CLK_SRC_UNUSED, - }" - register "pcie_clk_config_flag[2]" = "PCIE_CLK_LAN" - end device ref pcie_rp6 on # SD Card Reader register "pcie_rp[PCH_RP(6)]" = "{ .clk_src = 3, diff --git a/src/mainboard/novacustom/mtl-h/data.vbt b/src/mainboard/novacustom/mtl-h/variants/igpu/data.vbt similarity index 100% rename from src/mainboard/novacustom/mtl-h/data.vbt rename to src/mainboard/novacustom/mtl-h/variants/igpu/data.vbt diff --git a/src/mainboard/novacustom/mtl-h/gpio.c b/src/mainboard/novacustom/mtl-h/variants/igpu/gpio.c similarity index 100% rename from src/mainboard/novacustom/mtl-h/gpio.c rename to src/mainboard/novacustom/mtl-h/variants/igpu/gpio.c diff --git a/src/mainboard/novacustom/mtl-h/hda_verb.c b/src/mainboard/novacustom/mtl-h/variants/igpu/hda_verb.c similarity index 100% rename from src/mainboard/novacustom/mtl-h/hda_verb.c rename to src/mainboard/novacustom/mtl-h/variants/igpu/hda_verb.c diff --git a/src/mainboard/novacustom/mtl-h/variants/igpu/overridetree.cb b/src/mainboard/novacustom/mtl-h/variants/igpu/overridetree.cb new file mode 100644 index 0000000000..b38660a053 --- /dev/null +++ b/src/mainboard/novacustom/mtl-h/variants/igpu/overridetree.cb @@ -0,0 +1,58 @@ +chip soc/intel/meteorlake + device domain 0 on + subsystemid 0x1558 0xa743 inherit + device ref igpu on + register "ddi_ports_config" = "{ + [DDI_PORT_A] = DDI_ENABLE_HPD, /* eDP */ + [DDI_PORT_2] = DDI_ENABLE_DDC | DDI_ENABLE_HPD, /* HDMI 2.1 */ + }" + chip drivers/gfx/generic + register "device_count" = "6" + # DDIA for eDP + register "device[0].name" = ""LCD0"" + register "device[0].type" = "panel" + # DDIB unused + register "device[1].name" = ""DD01"" + # TCP0 for Thunderbolt 4 + register "device[2].name" = ""DD02"" + register "device[2].use_pld" = "true" + register "device[2].pld" = "ACPI_PLD_TYPE_C(RIGHT, CENTER, ACPI_PLD_GROUP(1, 1))" + # TCP1 unused + register "device[3].name" = ""DD03"" + # TCP2 for HDMI 2.1 + register "device[4].name" = ""DD04"" + # TCP3 unused + register "device[5].name" = ""DD05"" + device generic 0 on end + end + end + device ref i2c0 on # Touchpad + register "serial_io_i2c_mode[PchSerialIoIndexI2C0]" = "PchSerialIoPci" + chip drivers/i2c/hid + register "generic.hid" = ""ELAN0412"" + register "generic.desc" = ""ELAN Touchpad"" + register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_B00)" + register "generic.detect" = "1" + register "hid_desc_reg_offset" = "0x01" + device i2c 15 on end + end + chip drivers/i2c/hid + register "generic.hid" = ""FTCS1000"" + register "generic.desc" = ""FocalTech Touchpad"" + register "generic.irq_gpio" = "ACPI_GPIO_IRQ_LEVEL_LOW(GPP_B00)" + register "generic.detect" = "1" + register "hid_desc_reg_offset" = "0x01" + device i2c 38 on end + end + end + device ref pcie_rp5 on # GLAN + register "pcie_rp[PCH_RP(5)]" = "{ + .clk_src = 2, + .clk_req = 2, + .flags = PCIE_RP_LTR | PCIE_RP_CLK_SRC_UNUSED, + }" + register "pcie_clk_config_flag[2]" = "PCIE_CLK_LAN" + end + device ref gbe on end + end +end