From b7d59185ab269fcf100e9e8e2a842fd9d1bd3089 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Tue, 29 Apr 2025 17:39:18 -0500 Subject: [PATCH] soc/intel/common/dtt: Add Kconfig to skip SSDT generation MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Some mainboards use the common DPTF ASL rather than the DPTF chip driver, and those boards need to skip generation of the TCPU ACPI device in order to avoid a duplicate being created and causing issues with ACPI table parsing. Create a Kconfig that affected boards will select to skip generating the TCPU in the SSDT. Change-Id: Iec58d480821a273cdb4ff086f4995d21fd4bdb2e Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/87481 Tested-by: build bot (Jenkins) Reviewed-by: Jérémy Compostella --- src/soc/intel/common/block/dtt/Kconfig | 9 +++++++++ src/soc/intel/common/block/dtt/dtt.c | 4 ++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/src/soc/intel/common/block/dtt/Kconfig b/src/soc/intel/common/block/dtt/Kconfig index 1735c2ac21..fcf6788832 100644 --- a/src/soc/intel/common/block/dtt/Kconfig +++ b/src/soc/intel/common/block/dtt/Kconfig @@ -7,3 +7,12 @@ config SOC_INTEL_COMMON_BLOCK_DTT Minimal PCI Driver for enabling SSDT generation of Intel Dynamic Tuning Technology (DTT) policies and controls, also known as Intel DPTF (Dynamic Platform and Thermal Framework) + +config SOC_INTEL_COMMON_BLOCK_DTT_STATIC_ASL + bool + depends on SOC_INTEL_COMMON_BLOCK_DTT + default n + help + Mainboards which include `soc/intel/common/acpi/dptf/dptf.asl` + should select this to avoid generating a duplicate TCPU ACPI + device and rendering the SSDT invalid. diff --git a/src/soc/intel/common/block/dtt/dtt.c b/src/soc/intel/common/block/dtt/dtt.c index b2ce8b9c41..1d0451fc78 100644 --- a/src/soc/intel/common/block/dtt/dtt.c +++ b/src/soc/intel/common/block/dtt/dtt.c @@ -21,8 +21,8 @@ static const unsigned short pci_device_ids[] = { static void dtt_acpi_fill_ssdt(const struct device *dev) { - /* Skip if DPTF driver in use since TCPU device will already exist */ - if (CONFIG(DRIVERS_INTEL_DPTF)) + /* Skip if DPTF driver or common DPTF ASL in use since TCPU device will already exist */ + if (CONFIG(DRIVERS_INTEL_DPTF) || CONFIG(SOC_INTEL_COMMON_BLOCK_DTT_STATIC_ASL)) return; const char *scope = acpi_device_scope(dev);