diff --git a/src/soc/intel/alderlake/chip.h b/src/soc/intel/alderlake/chip.h index 248eedfd98..eaaef07d56 100644 --- a/src/soc/intel/alderlake/chip.h +++ b/src/soc/intel/alderlake/chip.h @@ -24,6 +24,7 @@ enum soc_intel_alderlake_power_limits { ADL_P_POWER_LIMITS_482_CORE, ADL_P_POWER_LIMITS_682_CORE, ADL_M_POWER_LIMITS_282_CORE, + ADL_M_POWER_LIMITS_242_CORE, ADL_POWER_LIMITS_COUNT }; diff --git a/src/soc/intel/alderlake/chipset.cb b/src/soc/intel/alderlake/chipset.cb index 05da658eac..eff64f17d4 100644 --- a/src/soc/intel/alderlake/chipset.cb +++ b/src/soc/intel/alderlake/chipset.cb @@ -21,11 +21,17 @@ chip soc/intel/alderlake }" register "power_limits_config[ADL_M_POWER_LIMITS_282_CORE]" = "{ + .tdp_pl1_override = 15, + .tdp_pl2_override = 45, + }" + + register "power_limits_config[ADL_M_POWER_LIMITS_242_CORE]" = "{ .tdp_pl1_override = 9, .tdp_pl2_override = 30, .tdp_pl4 = 68, }" + device domain 0 on device gpio 0 alias pch_gpio on end device pci 00.0 alias system_agent on end diff --git a/src/soc/intel/alderlake/systemagent.c b/src/soc/intel/alderlake/systemagent.c index acdaded685..cfb6f798b4 100644 --- a/src/soc/intel/alderlake/systemagent.c +++ b/src/soc/intel/alderlake/systemagent.c @@ -87,6 +87,9 @@ void soc_systemagent_init(struct device *dev) case PCI_DEVICE_ID_INTEL_ADL_M_ID_1: soc_config = &config->power_limits_config[ADL_M_POWER_LIMITS_282_CORE]; break; + case PCI_DEVICE_ID_INTEL_ADL_M_ID_2: + soc_config = &config->power_limits_config[ADL_M_POWER_LIMITS_242_CORE]; + break; default: printk(BIOS_ERR, "ADL: unknown SA ID: 0x%4x, skipping power limits configuration\n", sa_pci_id);