soc/intel/alderlake: Allow devicetree override to leave some VR settings as default
Allow devicetree override to leave ac_loadline, dc_loadline and icc_max as default.
Test=Boot to OS
Signed-off-by: Bora Guvendik <bora.guvendik@intel.com>
Change-Id: I715345d5ea83aed9ee929b2a4e13921c9d8895b1
Reviewed-on: https://review.coreboot.org/c/coreboot/+/58807
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
diff --git a/src/soc/intel/alderlake/vr_config.c b/src/soc/intel/alderlake/vr_config.c
index 2180fc5..99caacb 100644
--- a/src/soc/intel/alderlake/vr_config.c
+++ b/src/soc/intel/alderlake/vr_config.c
@@ -87,9 +87,12 @@
if (chip_cfg->vr_config_enable) {
cfg = chip_cfg;
- s_cfg->AcLoadline[domain] = cfg->ac_loadline;
- s_cfg->DcLoadline[domain] = cfg->dc_loadline;
- s_cfg->IccMax[domain] = cfg->icc_max;
+ if (cfg->ac_loadline)
+ s_cfg->AcLoadline[domain] = cfg->ac_loadline;
+ if (cfg->dc_loadline)
+ s_cfg->DcLoadline[domain] = cfg->dc_loadline;
+ if (cfg->icc_max)
+ s_cfg->IccMax[domain] = cfg->icc_max;
s_cfg->TdcTimeWindow[domain] = cfg->tdc_timewindow;
s_cfg->TdcCurrentLimit[domain] = cfg->tdc_currentlimit;
} else {