soc/intel/pantherlake: Add VR power state current thresholds

This commit introduces support for configuring power state current
thresholds (PS1, PS2, PS3) for each Voltage Regulator (VR) domain in the
Panther Lake SoC.

The thresholds allow platform integrators to specify current thresholds
(in 1/4 A increments, 0-128 A) for each VR domain and power state. A
value of 0 indicates AUTO (use default).

Change-Id: If4d473901c8de02b3d6cef44f5481a1864f14d63
Signed-off-by: Jeremy Compostella <jeremy.compostella@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/89450
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Cliff Huang <cliff.huang@intel.com>
This commit is contained in:
Jeremy Compostella 2025-10-07 10:29:09 -07:00 committed by Jérémy Compostella
commit 1fb4a7409b
2 changed files with 23 additions and 0 deletions

View file

@ -457,6 +457,20 @@ struct soc_intel_pantherlake_config {
*/
uint16_t icc_max[MAX_PTL_SKUS][NUM_VR_DOMAINS];
/*
* Power State Current Thresholds for VR Domains.
*
* These arrays define the current thresholds for different power states (PS1,
* PS2, PS3) for each Voltage Regulator (VR) domain.
*
* Each value is defined in 1/4 A increments. For example, a value of 400
* corresponds to 100A. The valid range is 0-512 (0-128A). A value of 0
* indicates AUTO (use default).
*/
uint16_t ps1_threshold[NUM_VR_DOMAINS];
uint16_t ps2_threshold[NUM_VR_DOMAINS];
uint16_t ps3_threshold[NUM_VR_DOMAINS];
/*
* SerialIO device mode selection:
* PchSerialIoDisabled,

View file

@ -357,6 +357,15 @@ static void fill_fspm_vr_config_params(FSP_M_CONFIG *m_cfg,
m_cfg->TdcMode[i] = config->tdc_mode[i];
m_cfg->TdcTimeWindow[i] = config->tdc_time_window_ms[i];
}
for (size_t i = 0; i < ARRAY_SIZE(config->ps1_threshold); i++) {
if (config->ps1_threshold[i])
m_cfg->Ps1Threshold[i] = config->ps1_threshold[i];
if (config->ps2_threshold[i])
m_cfg->Ps2Threshold[i] = config->ps2_threshold[i];
if (config->ps3_threshold[i])
m_cfg->Ps3Threshold[i] = config->ps3_threshold[i];
}
}
#if CONFIG(PLATFORM_HAS_EARLY_LOW_BATTERY_INDICATOR)