soc/intel/common/dtt: Add Kconfig to skip SSDT generation

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 <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/87481
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Jérémy Compostella <jeremy.compostella@intel.com>
This commit is contained in:
Matt DeVillier 2025-04-29 17:39:18 -05:00
commit b7d59185ab
2 changed files with 11 additions and 2 deletions

View file

@ -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.

View file

@ -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);