soc/intel/meteorlake: Adjust Power State Current 2 threshold
VccSA Power State 2 (PS2) current threshold has be adjusted to 10A to improve PS2 residency which reduces Voltage Regular (VR) power loss. BUG=b:308002192 TEST=power and performance analysis shows a positive Load Line result Change-Id: I2da2b05de8a04f91dacaa55062165c4351422865 Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78653 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Eric Lai <ericllai@google.com> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Sukumar Ghorai <sukumar.ghorai@intel.com> Reviewed-by: Subrata Banik <subratabanik@google.com>
This commit is contained in:
parent
44d0a137b5
commit
a7a6522c24
|
@ -306,6 +306,30 @@ struct soc_intel_meteorlake_config {
|
|||
*/
|
||||
uint16_t fast_vmode_i_trip[NUM_VR_DOMAINS];
|
||||
|
||||
/*
|
||||
* Power state current threshold 1.
|
||||
* Defined in 1/4 A increments. A value of 400 = 100A. Range 0-512,
|
||||
* which translates to 0-128A. 0 = AUTO. [0] for IA, [1] for GT, [2] for
|
||||
* SA, [3] through [5] are Reserved.
|
||||
*/
|
||||
uint16_t ps_cur_1_threshold[NUM_VR_DOMAINS];
|
||||
|
||||
/*
|
||||
* Power state current threshold 2.
|
||||
* Defined in 1/4 A increments. A value of 400 = 100A. Range 0-512,
|
||||
* which translates to 0-128A. 0 = AUTO. [0] for IA, [1] for GT, [2] for
|
||||
* SA, [3] through [5] are Reserved.
|
||||
*/
|
||||
uint16_t ps_cur_2_threshold[NUM_VR_DOMAINS];
|
||||
|
||||
/*
|
||||
* Power state current threshold 3.
|
||||
* Defined in 1/4 A increments. A value of 400 = 100A. Range 0-512,
|
||||
* which translates to 0-128A. 0 = AUTO. [0] for IA, [1] for GT, [2] for
|
||||
* SA, [3] through [5] are Reserved.
|
||||
*/
|
||||
uint16_t ps_cur_3_threshold[NUM_VR_DOMAINS];
|
||||
|
||||
uint8_t PmTimerDisabled;
|
||||
/*
|
||||
* SerialIO device mode selection:
|
||||
|
|
|
@ -17,6 +17,10 @@ chip soc/intel/meteorlake
|
|||
# Reduce the size of BasicMemoryTests to speed up the boot time.
|
||||
register "lower_basic_mem_test_size" = "true"
|
||||
|
||||
# The power state current threshold is defined in 1/4 A
|
||||
# increments. A value of 400 = 100A.
|
||||
register "ps_cur_2_threshold[VR_DOMAIN_SA]" = "40" # 10A
|
||||
|
||||
# NOTE: if any variant wants to override this value, use the same format
|
||||
# as register "common_soc_config.pch_thermal_trip" = "value", instead of
|
||||
# putting it under register "common_soc_config" in overridetree.cb file.
|
||||
|
|
|
@ -238,6 +238,12 @@ static void fill_fspm_vr_config_params(FSP_M_CONFIG *m_cfg,
|
|||
m_cfg->IccLimit[domain] = config->fast_vmode_i_trip[domain];
|
||||
}
|
||||
}
|
||||
if (config->ps_cur_1_threshold[domain])
|
||||
m_cfg->Psi1Threshold[domain] = config->ps_cur_1_threshold[domain];
|
||||
if (config->ps_cur_2_threshold[domain])
|
||||
m_cfg->Psi2Threshold[domain] = config->ps_cur_2_threshold[domain];
|
||||
if (config->ps_cur_3_threshold[domain])
|
||||
m_cfg->Psi3Threshold[domain] = config->ps_cur_3_threshold[domain];
|
||||
}
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue